"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment gérer correctement les apostrophes dans les requêtes d'insertion MySQL pour éviter les erreurs de syntaxe ?

Comment gérer correctement les apostrophes dans les requêtes d'insertion MySQL pour éviter les erreurs de syntaxe ?

Publié le 2024-11-07
Parcourir:379

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

Gestion des apostrophes dans les requêtes d'insertion MySQL

Dans MySQL, les requêtes d'insertion qui contiennent des apostrophes (guillemets simples) peuvent rencontrer des erreurs de syntaxe. Lorsque vous rencontrez l'erreur « Vous avez une erreur dans votre syntaxe SQL... », spécifiquement concernant les apostrophes, il existe des solutions pour garantir une insertion réussie des données.

La solution clé consiste à échapper les apostrophes à l'aide d'une barre oblique inverse (\ ) personnage. Par exemple, la chaîne « Kellogg's » devrait être écrite sous la forme « Kellogg\'s ». En échappant l'apostrophe avec une barre oblique inverse, MySQL interprète le caractère suivant comme un littéral plutôt que comme un indicateur de syntaxe.

De plus, il est conseillé d'utiliser la fonction mysql_real_escape_string() de MySQL lors de la préparation des données à insérer. Cette fonction échappe automatiquement les caractères spéciaux, y compris les apostrophes, ce qui en fait une protection complète contre les injections SQL potentielles. Prenons l'exemple suivant :

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;
    }
}

En utilisant cette méthode, vous pouvez insérer des données contenant des apostrophes dans les tables MySQL sans erreurs de syntaxe ni vulnérabilités de sécurité.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729688123. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3