函数名:cubrid_real_escape_string()
适用版本:CUBRID >= 9.1.0
函数说明:cubrid_real_escape_string() 函数用于在一个字符串中转义单引号(')、双引号(")、反斜线(\)以及NUL(ASCII 0)等特殊字符,以便安全地在CUBRID数据库中使用。
语法:string cubrid_real_escape_string ( string $unescaped_string [, resource $conn_identifier ] )
参数:
- unescaped_string:需要转义的字符串。
- conn_identifier(可选):CUBRID连接标识符。如果未提供,则使用上一个打开的连接。
返回值:返回转义后的字符串,如果转义失败则返回 false。
示例:
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($conn) {
$name = "John O'Brien";
$escaped_name = cubrid_real_escape_string($name, $conn);
// 在SQL语句中使用转义后的字符串
$query = "INSERT INTO users (name) VALUES ('$escaped_name')";
$result = cubrid_execute($conn, $query);
if ($result) {
echo "用户已成功插入!";
} else {
echo "插入用户时发生错误:" . cubrid_error_msg();
}
cubrid_close($conn);
} else {
die("连接数据库失败:" . cubrid_error_msg());
}
在以上示例中,我们创建一个CUBRID连接,然后使用 cubrid_real_escape_string()
函数来转义用户提供的姓名,并将转义后的字符串插入到数据库表中。这样可以防止由于未转义的特殊字符引起的SQL注入攻击。最后,我们根据插入操作的结果输出相应的消息。
请注意,为了正确使用 cubrid_real_escape_string()
函数,必须在连接到CUBRID数据库之后调用该函数,因此需要先使用 cubrid_connect()
函数来建立连接。