首頁  >  文章  >  後端開發  >  如何在 PHP 中轉義單引號以進行 MySQL 插入?

如何在 PHP 中轉義單引號以進行 MySQL 插入?

DDD
DDD原創
2024-11-02 00:49:30898瀏覽

How to Escape Single Quotes in PHP for MySQL Insertion?

在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>
查詢1:

第一個查詢可以正常工作,無需轉義單引號,因為您可能使用magic_quotes_gpc,它會轉義GET、POST 和COOKIE 變數中的字串。

查詢 2:當字串包含單引號(例如「O'Brien」)時,第二個查詢會失敗。與第一個查詢不同,第二個查詢中的字串沒有被轉義。 為了防止此問題,您應該在將字串插入資料庫之前使用 mysql_real_escape_string() 對字串進行轉義。這將在單引號前面加上反斜線():例如:轉義字串:這是一個很好的做法即使您沒有遇到錯誤,也始終在將字串插入資料庫之前對其進行轉義。這可以防止 SQL 注入攻擊並確保資料完整性。在PHP中,您可以使用mysql_real_escape_string()或PDO函式庫的bindParam()方法來有效地轉義字串。

以上是如何在 PHP 中轉義單引號以進行 MySQL 插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn