结果是返回资源ID 5错误,不知道该怎么做,但我也是新的
主要问题是我的if语句不起作用,我认为这是由于我的结果
$query = "select * from logindetails where online='1'";
$result = mysql_query($query);
echo $result;
if (mysql_num_rows($result) == 1) {
while ($row = mysql_fetch_array($result)) {
echo $row['online'] . $row['username'] . $row['password'] . $row['emailaddress'] . $row['familyname'] . $row['givenname'];
}
} else {
}
mysql_close();
?>
答案 0 :(得分:0)
它确实错误。问题是echo $result;
- 您无法打印它。它不知道你想要打印什么。另外,我建议使用mysqli
。
答案 1 :(得分:0)
您并未真正收到错误消息。您所看到的是外部资源的数字资源标识符,在这种情况下,外部资源是数据库中的资源。您正在寻找的是mysql_num_rows(),它会告诉您返回的行数。您将通过以下链接注意到不推荐使用mysql *函数,并且建议您使用mysqli或PDO。
答案 2 :(得分:0)
上面的代码输出资源id 5,因为你在3行中给出了echo,这意味着你的查询是有效的,代码是正确的,试着给出echo mysql_num_rows($ result)
答案 3 :(得分:-1)
而不是echo $result
,使用echo $result->Row;
$ result本身就是一个对象。您想要访问该对象的Row属性。
如果只有一个用户在线,那么你的if语句才会起作用。如果在线有多个用户,那么您将拥有多行,因此您的if语句会中断。
尝试
foreach ($result as $row) {
echo $row['online'] . $row['username'] . $row['password'] . $row['emailaddress'] . $row['familyname'] . $row['givenname']. "\n";
}