Erreur avec mysql_fetch_assoc()

Résolu/Fermé
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009 - 25 juin 2009 à 11:40
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009 - 25 juin 2009 à 12:21
Bonjour,

Merci de m'accorder un peu de votre temps pour m'aider à corriger le problème.

Mon souci vient d'un fameux WARNING que tout le monde connait: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\process.php on line 50!
Je ne sais pas d'où vient l'erreur.
voic mon code:

<?php

$host = "localhost";
$username = "root";
$password = "";
$db = "bddleoferre";

if(isset($_POST['nom_expediteur'])){
//Récupère les variables de flash
$name = $_POST['nom_expediteur'];
$mail = $_POST['email_expediteur'];
$message = $_POST['message_expediteur'];
$date = date("Y-m-d");
}


//Connection a la base de données
$conn = mysql_connect($host, $username, $password) or die("connection impossible au serveur");
$select_db = mysql_select_db($db,$conn);

if(isset($_POST['nom_expediteur'])){
//Insertion d'un nouveau msg dans la base
$insertSQL = "INSERT INTO t_livre_d_or (nom_expediteur, email_expediteur, message_expediteur, date_message) VALUES ('$name', '$mail', '$message', '$date')";
$rs = mysql_query($insertSQL,$conn);

if($rs){
//Insertion reussie
retrieveData();
}else{
echo '&entryadded=FAIL&';
exit();
}

}else{
retrieveData();
}

//Envoie vers flash de toutes les entrées de la base au format xml
function retrieveData(){
global $conn;

//Récupère les entrées de la base
$selectSQL = "SELECT * FROM t_livre_d_or ORDER BY ID DESC";
$rs = mysql_query($selectSQL,$conn);

//Génére le xml
echo "<?xml version=\"1.0\"?>\n";
echo "<entries>\n";

while($row = mysql_fetch_assoc($rs)){ // l'erreur est là! a cette ligne
$date_en = $row['date_message'];
$d = explode("-", $date_en);
$jour = $d[2];
$mois = $d[1];
$annee = $d[0];
$datefr = $jour."-".$mois."-".$annee;
echo "<log>\n";
echo "<name>".$row['nom_expediteur']."</name>\n";
echo "<mail>".$row['mail_expediteur']."</mail>\n";
echo "<message>".$row['message_expediteur']."</message>\n";
echo "<date>".$datefr."</date>\n";
echo "</log>\n";
}
#Fin du xml
echo "</entries>\n";


#Ferme la connection a la base
mysql_close($conn);
}
?>

Merci pour l'aide

6 réponses

bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
25 juin 2009 à 12:15
$selectSQL = "SELECT * FROM t_livre_d_or ORDER BY ID DESC"; 

Regarde bien,je vois ID dans ta requete or toi tu me parle id_livre_dor.
Donc,normal que ça ne marche pas!
3
Bonjour

Tu ne connais pas le fameux or die(mysql_error()) ?
$rs = mysql_query($selectSQL,$conn) or die(mysql_error());
ça donnera des précisions sur l'erreur
0
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009
25 juin 2009 à 12:00
Bonjour, et merci pour ta promptitude.
Bien sûr que je connais or die(mysql_error()) mais mon erreur ne vient pas de là :(
En plus j'ai changer mais j'ai tjrs cette errreur.
0
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009
25 juin 2009 à 12:02
dsl deuxième post, oui sa me précise que Unknown column 'ID' in order clause'! sa veut dire quoi?
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
25 juin 2009 à 12:05
Bonjour!
ça veut dire que la colonne ID ne figure pas dans ta table!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009
25 juin 2009 à 12:12
oh! je ne ne comprends plus rien. dsl mais je débute en php et bdd. mais en faite l'erreur provient de ma requete sql qui manque un champ? c'est bien ça? Parceque je suis allé dans ma base de donnée et j'ai bien vu que j'ai créé un champ id_livre_d_or qui réprésente les identifiants.
Merci encore pour tes réponses
0
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009
25 juin 2009 à 12:21
Ah Merci beaucoup! Je n'ai plus d'erreur sur mon script, en effet tu avait raison je parlais de ID alors que dans ma base c'etait id_livre_d_or.

Grand merci a toi encore.
Jah bless U Thx
0