2010-03-20 3 views
1

Possible en double:
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given errorAvertissement: attend ressources mais chaîne donnée

Je reçois:

« Resource id # 8 Warning: mysql_fetch_array() attend paramètre 1 être ressource, chaîne donnée "

Heres le code:

$sql="SELECT password FROM user WHERE userid=$userid";  
echo $password=mysql_query($sql); 

while($row = mysql_fetch_array($password)) { 
    $password = $row['password']; 
} 

Toutes les idées?

+0

Vous n'avez pas besoin d'utiliser une boucle while s'il y a (au plus) un seul utilisateur le 'userid' donné – Progman

+0

Peut-être mieux vaut-il essayer de * comprendre * ce qui est arrivé que de simplement le "réutiliser pour autre chose"? Cela ne fonctionnera pas n'importe où, si "réutilisé" exactement. –

Répondre

2

Vous écrasez $password dans la boucle:

while($row = mysql_fetch_array($password)) { <-------- $password as resource 
    $password = $row['password'];    <-------- $password as string 
} 

cela devrait fonctionner:

while($row = mysql_fetch_array($password)) { 
    $password_record = $row['password']; 
} 
+0

Doh - Merci. Etrange comme j'ai réutilisé ce code pour quelque chose d'autre et il ne s'est pas plaint. :-) – Damien

+0

@Damien cette boucle n'avait probablement qu'un seul enregistrement :) –

Questions connexes