cubrid_real_escape_string 함수는 질의를 서버로 전송하기 전에 문자열 내에 작은따옴표(')가 있으면 작은따옴표를 하나 더 추가하여('') 안전하게 질의를 수행할 수 있도록 한다.
일반적으로 문자열을 감쌀 때 작은x옴표(')가 사용하며, CUBRID 시스템 파라미터인 ansi_quotes의 값에 따라 큰따옴표(")도 사용할 수 있다. ansi_quotes의 값이 no이면 큰따옴표로 감싼 것을 식별자가 아닌 문자열로 인식한다. 기본값은 yes이다.
string cubrid_real_escape_string (string $unescaped_string[, resource $conn_identifier])
<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$unescaped_str = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
$escaped_str = cubrid_real_escape_string($unescaped_str);
$len = strlen($unescaped_str);
@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (t char($len))");
cubrid_execute($conn, "INSERT INTO cubrid_test (t) VALUES('$escaped_str')");
$req = cubrid_execute($conn, "SELECT * FROM cubrid_test");
$row = cubrid_fetch_assoc($req);
var_dump($row);
cubrid_close_request($req);
cubrid_disconnect($conn);
?>
The above example will output:
array(1) {
["t"]=>
string(95) " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
}