函式名:mysql_real_escape_string()
適用版本:PHP 4.3.0及以上版本,但不建議在PHP 7.0.0及以上版本中使用,因為該函式已被廢棄。
用法:mysql_real_escape_string()函式用於對字串中的特殊字元進行轉義,以防止SQL隱碼攻擊。該函式需要與MySQL資料庫一起使用,用於跳脫字元串中的特殊字元,使其可以安全地插入到SQL語句中。
語法:string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier = NULL ] )
引數:
- unescaped_string:需要轉義的字串。
- link_identifier(可選):MySQL連線識別符號。如果未提供該引數,則預設使用最近開啟的MySQL連線。
返回值:返回轉義後的字串。
示例:
// 假設已經建立了與MySQL資料庫的連線
// 需要轉義的字串
$string = "It's a sample string with special characters like ' and \".";
// 跳脫字元串
$escaped_string = mysql_real_escape_string($string);
// 執行SQL查詢
$query = "INSERT INTO table_name (column_name) VALUES ('$escaped_string')";
mysql_query($query);
注意事項:
- 在使用mysql_real_escape_string()函式之前,必須先建立與MySQL資料庫的連線。
- 為了防止SQL隱碼攻擊,應該在構建SQL查詢語句時,將所有的字串引數都使用mysql_real_escape_string()函式進行轉義。
- 從PHP 5.5.0開始,mysql_real_escape_string()函式已被mysqli_real_escape_string()函式取代。對於新的程式碼,建議使用mysqli或PDO擴充套件來與MySQL資料庫互動,以提高安全性和效能。