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

Comment surmonter l'erreur MySQL lors du traitement des apostrophes lors de l'insertion de données ?

Patricia Arquette
Libérer: 2024-10-23 23:01:30
original
702 Les gens l'ont consulté

How to Overcome MySQL Error When Dealing with Apostrophes in Data Insertion?

Résolution de l'erreur MySQL avec des apostrophes lors de l'insertion de données

Lorsque vous essayez d'insérer des données contenant des guillemets simples dans une base de données MySQL, vous pouvez rencontrer une erreur. Le message d'erreur indique généralement un problème de syntaxe à proximité du caractère guillemet.

Pour résoudre ce problème, échappez les guillemets dans les données avec une barre oblique inverse (). Par exemple, "Kellogg's" doit être écrit comme "Kellogg's".

De plus, pour une sécurité accrue, il est recommandé d'utiliser la fonction mysql_real_escape_string pour échapper à toutes les entrées fournies par l'utilisateur, protégeant ainsi contre les injections SQL.

Considérez la version suivante de la fonction d'insertion qui intègre les deux techniques :

<code class="php">function insert($database, $table, $data_array) {
    // Establish MySQL connection and select database
    $mysql_connect = connect_to_database();
    mysql_select_db($database, $mysql_connect);

    // Prepare column and data values for SQL command
    foreach ($data_array as $key => $value) {
        $tmp_col[] = $key;
        $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; // Escape against SQL injections
    }
    $columns = join(',', $tmp_col);
    $data = join(',', $tmp_dat);

    // Construct and execute SQL command
    $sql = 'INSERT INTO ' . $table . '(' . $columns . ')VALUES(' . $data . ')';
    $result = mysql_query($sql, $mysql_connect);

    // Handle SQL errors or return result
    if (!$result) {
        echo 'MySQL Update Error: ' . mysql_error($mysql_connect);
        $result = '';
    } else {
        return $result;
    }
}</code>
Copier après la connexion

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!