Mysql_result(): supplied argument is not a valid MySQL result resource

Résolu
cs_zzzzzz Messages postés 408 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 18 décembre 2012 - 3 oct. 2011 à 19:47
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 3 oct. 2011 à 21:47
Bonjour,

Je débute et j'en viens à mes premiers problèmes.

J'ai une classe mysql, j’exécute une requete : $result = Mysql::MyQuery("SELECT COUNT(*) FROM nd_membres WHERE pseudo='$pseudo';");

Si je fais :

print_r($result); J'obtiens :

Array ( [0] => Array ( [COUNT(*)] => 5 ) )

Tout marche le même pseudo existe 5 fois.

Maintenant j'essaye de traiter le résultat pour dire vérifier si le pseudo existe déja avec :

if(mysql_result($result,0)!=0)
{
return 1;
}

Et la j'obtiens un Warning :

Warning: mysql_result(): supplied argument is not a valid MySQL result resource

Je ne comprend pas vraiment. Comment traiter l'ARRAY ? Pourquoi cela ne marche t'il pas? Je ne sais pas à quoi ressembler une réponse SQL, ne s'agit t'il pas d'un array?

Merci pour votre aide par avance.

2 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
3 oct. 2011 à 21:47
echo $result[0][0]; devrait fonctionner. L'utilité de cette classe ? Aucune si elle ne gère rien d'autre que MySQL (autant utiliser PDO, si on ne veut pas toucher à du "bas niveau" !)

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
cs_zzzzzz Messages postés 408 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 18 décembre 2012
3 oct. 2011 à 20:13
Je viens de voir que la classe MYsql que j'utilise fais un traitement sur la REQUETE SELECT...

//si SELECT récupération du résultat dans un tableau associatif
// ------------------------------------------------------------
if ( $Type_requete == "SELECT" )
{
$results = array() ;
$this->MyNbLigne = @mysql_num_rows($result) ;

//construction du tableau associatif
// ---------------------------------
while ($ligne = @mysql_fetch_assoc($result)) array_push($results,$ligne) ;

//libération de la mémoire
// -----------------------
@mysql_free_result($result) ;

return $results ;
}

Quel est l'intérêt ? Si quelqu'un pourrait m'expliquer ca serait gentil. Pourquoi ne pas faire un simple return de la requete mysql et traiter ca traditionnellement?
Rejoignez-nous