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

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

Patricia Arquette
Patricia Arquetteoriginal
2024-10-23 23:01:30703parcourir

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>

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!

Déclaration:
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