par
zeus » 24 mai 2009, 22:17
Plusieurs fois, des éléments très importants ont été avancés :
Il faudrait que tu testes la requete dans PHPmydamin (en remplaçant les variables par leur valeur)
fait un echo $query; voir si tout est en ordre
Tu as un problème, disant que le retour de l'exécution de la requête est invalide. En clair, cela signifie qu'il y a eu une erreur lors de l'exécution de la requête. Le problème est donc d'ordre SQL.
Pour commencer, fait afficher la requête, pour être sûr et certain du SQL qui est exécuté.
Ensuite, si tu ne vois pas apparaitre l'erreur, exécute là dans phpMyAdmin et lit le message d'erreur SQL affiché.
Si ces 2 étapes te montrent une erreur, mais que tu ne comprend pas, colle nous ici ces 2 éléments (requête SQL et code d'erreur SQL)
NB : quand tu fais un code PHP qui exécute du code SQL, il est de bon ton de vérifier le retour de l'exécution
$str_requete = "SELECT id, nom FROM client";
$o_result = mysql_query($str_requete);
if($o_result === false)
{
echo "Une erreur est survenue. Merci d'en informer l'administrateur";
// Ce if ne fonctionne que si tu développes sur ton poste.
// Il ne sera exécuté que pendant le développement. Très important pour ne pas montrer tes erreurs une fois le site en production
if( $_SERVER['HTTP_HOST'] == '127.0.0.1' )
{
echo "Erreur MySQL : ". mysql_error();
}
}
else
{
// Traitement normal
while($a_result = mysql_fetch_assoc($o_result))
{
// ...
}
}
Et, quand tu développes, tu peux même utiliser mysql_error() pour voir quel est le message d'erreur retourné par un mysql_query() quand il a échoué