函式名: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()
函式來建立連線。