Maison  >  Article  >  base de données  >  Comment insérer des données avec des apostrophes dans MySQL sans erreurs de syntaxe ?

Comment insérer des données avec des apostrophes dans MySQL sans erreurs de syntaxe ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-24 03:45:30795parcourir

How to Insert Data with Apostrophes into MySQL without Syntax Errors?

Dépannage de l'insertion de données avec des apostrophes dans MySQL

Lors de l'exécution de requêtes INSERT contenant des apostrophes (guillemets simples), telles que des noms de sociétés comme "Kellogg's", les utilisateurs peuvent rencontrer une syntaxe erreurs. Ce problème survient en raison de l'interprétation particulière des apostrophes dans SQL.

Pour résoudre ce problème, l'apostrophe dans les données doit être échappée avec une barre oblique inverse (). En échappant l'apostrophe, l'interpréteur SQL la traitera comme un caractère dans la chaîne plutôt que comme un délimiteur de syntaxe.

Exemple :

Kellogg's will become Kellogg\'s

Une autre solution efficace consiste à utiliser la fonction mysql_real_escape_string(), qui s'occupe automatiquement d'échapper les caractères spéciaux, y compris les apostrophes. Voici un exemple de fonction qui utilise cette technique :

function insert($database, $table, $data_array) {
    foreach ($data_array as $key => $value) {
        $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'";
    }
    $data = join(',', $tmp_dat);
    $sql = 'INSERT INTO ' . $table . ' VALUES('. $data.')';
    $result = mysql_query($sql);
}

En incorporant ces méthodes, les données contenant des apostrophes peuvent être insérées avec succès dans les bases de données MySQL, résolvant ainsi les erreurs de syntaxe qui surviennent lors de l'insertion.

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