В 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