«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как правильно обрабатывать апострофы в запросах на вставку MySQL, чтобы предотвратить синтаксические ошибки?

Как правильно обрабатывать апострофы в запросах на вставку MySQL, чтобы предотвратить синтаксические ошибки?

Опубликовано 7 ноября 2024 г.
Просматривать:452

How to Correctly Handle Apostrophes in MySQL Insert Queries to Prevent Syntax Errors?

Обработка апострофов в запросах на вставку MySQL

В 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 без синтаксических ошибок или уязвимостей безопасности.

Заявление о выпуске Эта статья перепечатана по адресу: 1729688123. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3