我正在尝试从我的数据库中获取数据 - 这是我的代码:
$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"];
当我获取记录时,我从mysql_num_rows()获得1但是当试图回显实际数据时,我总是得到空白结果.. :(
知道什么是错的?
答案 0 :(得分:1)
mysql_query返回的结果是一个ressource,为了从该资源获取数据,您需要调用mysql_fetch_array或其他可以解析该资源的mysql_
函数。
$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"];
在旁注中,当您将未经过清理的数据直接放入查询中时(在您的情况下为$nam
),请确保先将mysql_real_escape_string应用于该变量。否则,如果您的字符串包含'
之类的字符,则会产生sql错误。
答案 1 :(得分:0)
if($total == 0)
{
echo "no records found.";
}
print_r $rs;
并确保您已连接...
答案 2 :(得分:0)
这可能有助于您更好地理解:
$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/>";
}
}
}