在 MySQL 中,包含撇號(單引號)的插入查詢可能會遇到語法錯誤。當遇到錯誤“您的 SQL 語法有錯誤...”,特別是關於撇號時,有一些解決方案可以確保資料插入成功。
關鍵的解決方案在於使用反斜線轉義撇號 (\ ) 特點。例如,字串“Kellogg's”需要寫為“Kellogg\'s”。透過用反斜線轉義撇號,MySQL 將後面的字元解釋為文字而不是語法指示符。
此外,在準備插入資料時,建議使用 MySQL 的 mysql_real_escape_string() 函數。此函數會自動轉義特殊字元(包括撇號),使其成為針對潛在 SQL 注入的全面防護措施。考慮以下範例:
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;
}
}
透過使用此方法,您可以將包含撇號的資料插入MySQL表中,而不會出現語法錯誤或安全漏洞。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3