在PHP 中向MySQL 插入資料時轉義單引號
本文解決了在MySQL 中向MySQL 插入資料時轉義單引號的問題。
提供的程式碼示範了兩個 SQL 語句:一個用於將表單資料插入資料庫,另一個用於檢索資料、傳送電子郵件和記錄交易詳細資料。當第二個語句中存在單引號但第一個語句中不存在單引號時,就會發生錯誤。
行為差異源自於可能啟用 magic_quotes_gpc。此函數會對 $_GET、$_POST 和 $_COOKIES 中的字串進行轉義。當再次儲存和檢索資料時,它可能不會自動轉義。
要解決此問題,您應該使用 mysql_real_escape_string() 對兩個片段中的每個字串進行轉義。
範例with mysql_real_escape_string():
<code class="php">$order_id = mysql_real_escape_string($order_id); $supplier_id = mysql_real_escape_string($supplier_id); ...</code>
在插入MySQL 之前轉義字串可確保單引號和其他可能有問題的字元得到正確處理,防止SQL 注入漏洞和不一致的查詢執行。
以上是為什麼在 PHP 中轉義單引號有時只會影響 MySQL 插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!