mysql_result(): message d'erreur

mysql_result(): message d'erreur - PHP - Programmation

Marsh Posté le 24-07-2006 à 11:01:00    

bonjour a tous
 
jai un message d'erreur : Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/users/f/foxcssfox/www/abcube/calendrier/evenement1.php on line 481
 
voici mon code :  
 
   //récupération des valeurs des champs:
             $titre = $_POST["titre"] ;
             $type_procedure = $_POST["type_procedure"] ;
             $id_pays = $_POST["id_pays"] ;
             $notes = $_POST["notes"] ;
 
             $date_amm = $_POST["date_amm"] ;
             $date_realisation = $_POST["date_realisation"] ;
             $date_alerte = $_POST["date_alerte"] ;
 
 
 

Code :
  1. /** Creation Article */
  2.       $requete=@mysql_query("INSERT INTO dua_articles (titre , type_procedure , id_pays , notes )
  3.               VALUES ('$titre', '$type_procedure', '$id_pays', '$notes');" );
  4.       mysql_result($requete, 0);
  5. $req1="select max(id_article) from dua_articles";
  6. $res1=mysql_query($req1);
  7. $id_article=mysql_result($res1,0);
  8.   /** Creation Lien Article-Pays */
  9.       $requete1=@mysql_query("INSERT INTO dua_artpays (id_pays, id_article, date_amm , date_realisation, date_alerte )
  10.               VALUES ('$id_pays', '$id_article', '$date_amm', '$date_realisation', '$date_alerte');" );
  11.       mysql_result($requete1, 0);


 
qu'en pensez vous ? que signifie le message d'erreur ? MERCI

Reply

Marsh Posté le 24-07-2006 à 11:01:00   

Reply

Marsh Posté le 24-07-2006 à 11:02:24    

tu devrai faire afficher le message d'erreur mysql avec  
echo mysql_error()
 
quelle est la requette qui plante ?  
 

Reply

Marsh Posté le 24-07-2006 à 11:10:37    

j en pense que le @ c est le mal :/
a n utiliser que quand tu es sur de ce que tu fais, ce qui ne semble pas etre le cas et il y a toujours moyen de se debarrasser d un @
mysql_result sur un insert ne sert a rien (voire c est peut etre meme ton erreur)

Reply

Marsh Posté le 24-07-2006 à 11:21:20    

mIRROR a écrit :

j en pense que le @ c est le mal :/
a n utiliser que quand tu es sur de ce que tu fais, ce qui ne semble pas etre le cas et il y a toujours moyen de se debarrasser d un @
mysql_result sur un insert ne sert a rien (voire c est peut etre meme ton erreur)


 
+1..
 
déjà la ligne en cause est la 481... donc tu sais quelle requête plante. De plus pourquoi faire un mysql_result() sur un insert ?.. tu sais ce que tu rajoute dans ta bdd ...

Reply

Marsh Posté le 24-07-2006 à 11:31:27    

j'ai supprimé le @ mais ca ne change rien
 
j'ai deux tables et dans la seconde, j'ai besoin de récupérer le dernier numero ID incrementé de la 1ere table :
 
$req1="select max(id_article) from dua_articles";
$res1=mysql_query($req1);
$id_article=mysql_result($res1,0);
 
voila,  
grrr je galere...

Reply

Marsh Posté le 24-07-2006 à 11:37:45    

pour recuperer l'id du dernier enregistrement inserer tu peux faire mysql_insert_id, c'est plus propre  
 
remplace tes @mysql_query($query) par mysql_query($query) or die(myslq_error());
 
tes   mysql_result  ne servent  a rien

Reply

Marsh Posté le 24-07-2006 à 11:44:46    

et bien tu peux utiliser La fonction LAST_INSERT_ID() , qui retourne la plus récente valeur de colonne
AUTO_INCREMENT .
 
donc refaire une requête avec cette fonction concernant la table en cause ;)

Reply

Sujets relatifs:

Leave a Replay

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