我真的很困惑,什么数字应该在查询中,我的目标是匹配用户。原来我有usersid=1";但是我的老师想让我把数字改为0,我这样做了,现在我只是收到错误,数字必须等于0还是我错过了一段代码。
$query="SELECT * FROM login WHERE usersid=0";
$result=mysql_query($query);
$r=mysql_fetch_array($result);
echo $r["firstname"];
echo " ";
$usersid=$r["usersid"];
echo "<br>";
在尝试回显之前,您应该检查是否碰到了任何行。
$query="SELECT * FROM login WHERE usersid=0";
$result=mysql_query($query);
if (!$result)
{
die('Invalid query: ' . mysql_error());
}
if( mysql_num_rows($result) > 0)
{
$r=mysql_fetch_array($result);
echo $r["firstname"];
echo " ";
$usersid=$r["usersid"];
echo "<br>";
}
else
{
echo "nothing found";
}
如果您想从login
表中获得最低userid
的用户,则使用:
SELECT * FROM login ORDER BY usersid LIMIT 1
你的老师应该告诉你的其他一些事情是:
-
mysql_
函数被弃用,将被删除,所以你应该使用mysqli_
,而不是类似于使用或PDO -更先进和强大,但同时会节省你一些努力,当你照顾适当的变量转义,以防止SQL注入攻击你的应用程序。 - 在你的应用中做一些错误处理