[PHP/SQL] Erreur aléatoire????!!!!!!

Erreur aléatoire????!!!!!! [PHP/SQL] - PHP - Programmation

Marsh Posté le 27-12-2003 à 10:35:13    

Salut,
j'ai un petit probleme avec l'enregistrement de données dans une base sql...En faite je remplie un formulaire et les données sont récupérées puis entrées dans la base de donnée à l'aide de ce code:  

Code :
  1. <?
  2. include"../include/conf.inc.php";
  3. $titre=$_POST['titre'];
  4. $msg=$_POST['msg'];
  5. $auteur=$_POST['auteur'];
  6. $date=$_POST['date'];
  7. $connect = mysql_connect("$dbhost","$login","$pass" ) or die ("erreur de connection0" );
  8. mysql_select_db("$dbname",$connect) or die ("erreur de connection1" );
  9. $sql = "INSERT INTO news (id,titre,msg,auteur,date) VALUES('','$titre','$msg','$auteur','$date')";
  10. mysql_query($sql) or die ("erreur de connection2" );
  11. mysql_close($connect);
  12. ?>


 
Au niveau de mysql_query , cela me fait erreur de connection2 aléatoirement et je comprend pas... en faite, je peux taper un texte bidon ca marche! j'en retape un autre ca marche pas....
je pige vraiment pas :crazy:
merci de m'aider :)

Reply

Marsh Posté le 27-12-2003 à 10:35:13   

Reply

Marsh Posté le 27-12-2003 à 12:22:21    

Reply

Marsh Posté le 27-12-2003 à 12:54:13    

Ok merci je test ca des que je peux :)

Reply

Marsh Posté le 27-12-2003 à 13:09:22    

regarde surtout la fonction addslashes()

Reply

Marsh Posté le 27-12-2003 à 14:01:58    

l'erreur n'est certainement pas si aléatoire que ça en effet...

Reply

Marsh Posté le 27-12-2003 à 15:34:40    

affiche ta requête avant de l'éxécuter, et quand ça plante, lance-la dans un éditeur sql tu verras tout de suite ce qui merde.

Reply

Marsh Posté le 27-12-2003 à 15:36:31    

10 contre 1 que c'est en effet addslashes.
 
Et juste comme ça, NE PAS utiliser cette fonction de merde.
Et désactiver MagicQuotes qui est actif par défaut sur les versions récentes de PHP.
 
C'est un comportement purement MySQL d'échapper les ' par \' comme en C. La norme SQL c'est '' pour échapper ', ce que MySQL supporte aussi, donc à l'heure du soit-disant portable autant faire ça proprement, et ne pas rendre volontairement tous le code dépendant du SGBD.


Message édité par MagicBuzz le 27-12-2003 à 15:37:14
Reply

Marsh Posté le 27-12-2003 à 18:15:01    

En effet ca venait du addslashes!
merci a tous de m'avoir aidé :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed