2011-03-19 3 views
0

Je recordset suis en train d'obtenir des données de ma base de données - voici mon code:valeurs vides dans

$rs = mysql_query("select * from u_gui where nam='".$nam."'",$db); 
$total = mysql_num_rows($rs); // returns 1 
if(!$total) 
{ 
    echo "no records found."; 
} 
echo $rs["data"]; 

Quand je suis aller chercher les œuvres de disques que je reçois 1 de mysql_num_rows() mais en essayant de écho les données réelles que je suis toujours obtenir des résultats en blanc .. :(

une idée de ce qui ne va pas?

+0

Voulez-vous s'il vous plaît montrer la structure de la table 'u_gui' ici. – anubhava

Répondre

1

Le résultat obtenu par mysql_query est une ressource, pour obtenir les données de cette ressource, vous devez appeler mysql_fetch_array ou une autre fonction mysql_ capable d'analyser cette ressource.

$rs = mysql_query("select * from u_gui where nam='" . mysql_real_escape_string($nam) . "'",$db); 
$total = mysql_num_rows($rs); 

if(!$total) 
{ 
    echo "no records found."; 
} 

$row = mysql_fetch_array($rs); 
echo $row["data"]; 

Sur une note côté, lorsque vous mettez des données non-aseptisé directement dans une requête (dans votre cas $nam) assurez-vous d'appliquer mysql_real_escape_string à cette variable avant. Sinon, si votre chaîne contient un caractère comme ', elle peut produire une erreur SQL.

0
if($total == 0) 
{ 
    echo "no records found."; 
} 
print_r $rs; 

et assurez-vous êtes connecté ...

0

Cela pourrait vous aider à mieux comprendre:

$rs = mysql_query("select * from u_gui where nam='".$nam."'",$db); 
$total = mysql_num_rows($rs); // returns 1 

if($total > 0) 
{ 
    while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) 
    { 
     foreach ($row as $key => $value) 
     { 
      echo "$key = $value<br/>"; 
     } 
    } 
}