在PHP 中轉義單引號以進行MySQL 插入
將包含單引號(') 的資料插入資料庫時,可能會出現MySQL 錯誤。要解決此問題,使用適當的技術轉義單引號至關重要。
在程式碼片段中,您使用兩個INSERT 查詢將表單資料新增至資料庫:
<code class="php">INSERT INTO job_log ... VALUES (...)</code>
<code class="php">INSERT INTO message_log ... VALUES (...)</code>
查詢1:
查詢1:查詢1: 查詢1:
<code class="php">INSERT INTO message_log ... VALUES (...)</code>
<code class="php">$escapedString = mysql_real_escape_string("O'Brien"); $query = mysql_query("INSERT INTO message_log ... VALUES ('$escapedString', ...");</code>
第一個查詢可以正常工作,無需轉義單引號,因為您可能使用magic_quotes_gpc,它會轉義GET、POST 和COOKIE 變數中的字串。
查詢 2:當字串包含單引號(例如「O'Brien」)時,第二個查詢會失敗。與第一個查詢不同,第二個查詢中的字串沒有被轉義。 為了防止此問題,您應該在將字串插入資料庫之前使用 mysql_real_escape_string() 對字串進行轉義。這將在單引號前面加上反斜線():例如:轉義字串:這是一個很好的做法即使您沒有遇到錯誤,也始終在將字串插入資料庫之前對其進行轉義。這可以防止 SQL 注入攻擊並確保資料完整性。在PHP中,您可以使用mysql_real_escape_string()或PDO函式庫的bindParam()方法來有效地轉義字串。以上是如何在 PHP 中轉義單引號以進行 MySQL 插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!