Formatage texte mysql
Résolu
t671
Messages postés
1476
Date d'inscription
Statut
Membre
Dernière intervention
-
t671 Messages postés 1476 Date d'inscription Statut Membre Dernière intervention -
t671 Messages postés 1476 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais écrire un texte dans ma base mysql. Le champ dans la base est défini au format TEXT. Le texte est :
E' NATO IL REDENTOR
Mais j'ai un message d'erreur :
Erreur SQL !INSERT INTO ........... You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NATO IL REDENTOR',..............
Je pense que cela provient de ' après E. Existe t'il un moyen de formater le texte de façon à ce qu'il soit accepter par MYSQL ?
Merci
Je voudrais écrire un texte dans ma base mysql. Le champ dans la base est défini au format TEXT. Le texte est :
E' NATO IL REDENTOR
Mais j'ai un message d'erreur :
Erreur SQL !INSERT INTO ........... You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NATO IL REDENTOR',..............
Je pense que cela provient de ' après E. Existe t'il un moyen de formater le texte de façon à ce qu'il soit accepter par MYSQL ?
Merci
A voir également:
- Formatage texte mysql
- Formatage clé usb - Guide
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Formatage pc - Guide
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
4 réponses
Il faut l'échapper.
Si tu utilises la fonction de commençant par "mysql_", utilise la fonction mysql_real_escape_string.
Avec PDO, tu as la méthode quote().
Si tu utilises la fonction de commençant par "mysql_", utilise la fonction mysql_real_escape_string.
Avec PDO, tu as la méthode quote().
Merci.
J'ai remplacé
$sql = "INSERT INTO ....................................";
mysql_query($sql) or die('Erreur SQL !'.$sql.mysql_error());
par
$sql = "INSERT INTO ....................................";
mysql_real_escape_string($sql) or die('Erreur SQL !'.$sql.mysql_error());
J'ai plus de message d'erreur, mais pas d'enregistrement dans la table !
J'ai remplacé
$sql = "INSERT INTO ....................................";
mysql_query($sql) or die('Erreur SQL !'.$sql.mysql_error());
par
$sql = "INSERT INTO ....................................";
mysql_real_escape_string($sql) or die('Erreur SQL !'.$sql.mysql_error());
J'ai plus de message d'erreur, mais pas d'enregistrement dans la table !
Il faut échapper tes variables, pas ta requête SQL.
<?php mysql_connect(); mysql_select_db(); $sql = 'INSERT INTO table(champ1) VALUES("'.mysql_real_escape_string($champ1).'")'; mysql_query($sql) or die('...'); // ... ?>