執行包含撇號(單引號)的INSERT 查詢時,例如「Kellogg's」等公司名稱,使用者可能會遇到語法錯誤。這個問題是由於SQL中對撇號的特殊解釋而產生的。
要解決這個問題,資料中的撇號必須用反斜線()轉義。透過轉義撇號,SQL 解釋器會將其視為字串中的字符,而不是語法分隔符。
範例:
Kellogg's will become Kellogg\'s
另一個有效的解決方案是使用 mysql_real_escape_string() 函數,該函數自動處理轉義特殊字符,包括撇號。以下是使用此技術的範例函數:
function insert($database, $table, $data_array) { foreach ($data_array as $key => $value) { $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; } $data = join(',', $tmp_dat); $sql = 'INSERT INTO ' . $table . ' VALUES('. $data.')'; $result = mysql_query($sql); }
透過合併這些方法,可以將包含撇號的資料成功插入 MySQL 資料庫,解決插入過程中出現的語法錯誤。
以上是如何將帶撇號的資料插入MySQL而不出現語法錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!