Maison > base de données > tutoriel mysql > le corps du texte

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

Mary-Kate Olsen
Libérer: 2024-10-24 04:33:02
original
319 Les gens l'ont consulté

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é réside dans l'échappement des 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 indicateur 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 :

<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>
Copier après la connexion

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é.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!