[RESOLU] Récupérer mysql_id lors d'une double commande

Mammouth du PHP | 881 Messages

10 oct. 2012, 15:19

Bonjour,

j'obtiens le message d'erreur suivant :mysql_insert_id() expects parameter 1 to be resource, boolean given in document on line 34

à la suite du passage sur le code suivant:
31 $requFOUR  = "INSERT INTO finance_fournisseurs VALUES (NULL, '".$Contenu["Nom"]."', 'Iinutile', '".$Contenu["SiteWeb"]."', NOW() ) ";
32 $requFOUR .= "ON DUPLICATE KEY UPDATE Nom = '".$Contenu["Nom"]."', TypeServ = 'Modifié', SiteWeb = '".$Contenu["SiteWeb"]."', Ajour = NOW() "; 
33 $resuFOUR = mysql_query($requFOUR, $db);
34 $NouvFOUR = ($_POST["ChxFournisseur"] > 0) ? $_POST["ChxFournisseur"] :  mysql_insert_id($resuFOUR);

Pourquoi?


Ma commande mysql est bonne, testée dans phpmyadmin à plusieurs reprises
Comme vous voyez, la condition ($_POST["ChxFournisseur"] > 0) est bien lue, car le message d'erreur parle la commande mysql_insert_id ... alors quoi?

Merci
Soyez artisans de paix

Eléphanteau du PHP | 35 Messages

10 oct. 2012, 15:22

Hello,

mysql_insert_id prend en paramètre une resource si besoin, tu lui passe un string (ta requête sql), je pense que dans ton cas tu n'as pas besoin de lui passer de paramètre.

Edit :
l'extension que tu utilises n'est plus conseillé, regarde du côté de PDO http://fr2.php.net/manual/fr/class.pdo.php ou au pire l'extension mysqli http://fr2.php.net/manual/fr/book.mysqli.php
La paresse est mère du génie.

Mammouth du PHP | 881 Messages

10 oct. 2012, 18:57

Merci,

c'était bien ça!
La valeur que je lui passait était le résultat de la requête, mais en fait je n'ai besoin de rien passer. Tout simple.
Soyez artisans de paix