在 MySQL 中,包含撇號(單引號)的插入查詢可能會遇到語法錯誤。當遇到「您的 SQL 語法錯誤...」錯誤(特別是關於撇號)時,有一些解決方案可以確保資料插入成功。
關鍵解決方案在於使用反斜線 () 轉義撇號特性。例如,字串“Kellogg's”需要寫為“Kellogg's”。透過使用反斜線轉義撇號,MySQL 將以下字元解釋為文字而不是語法指示符。
此外,建議在準備插入資料時使用 MySQL 的 mysql_real_escape_string() 函數。此函數會自動轉義特殊字元(包括撇號),使其成為針對潛在 SQL 注入的全面防護措施。請考慮以下範例:
<code class="php">function insert($database, $table, $data_array) { $mysql_connect = connect_to_database(); mysql_select_db($database, $mysql_connect); foreach ($data_array as $key => $value) { $tmp_col[] = $key; $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; // Escaping } $columns = join(',', $tmp_col); $data = join(',', $tmp_dat); $sql = 'INSERT INTO ' . $table . '(' . $columns . ')VALUES(' . $data . ')'; $result = mysql_query($sql, $mysql_connect); if (!$result) { echo 'MySQL Update Error: ' . mysql_error($mysql_connect); $result = ''; } else { return $result; } }</code>
透過使用此方法,您可以將包含撇號的資料插入 MySQL 表中,而不會出現語法錯誤或安全漏洞。
以上是如何正確處理MySQL插入查詢中的撇號以防止語法錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!