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!