从用户id导致错误的查询中选择


Select From Query where the user id is causing errors

我真的很困惑,什么数字应该在查询中,我的目标是匹配用户。原来我有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

你的老师应该告诉你的其他一些事情是:

  1. mysql_函数被弃用,将被删除,所以你应该使用mysqli_,而不是类似于使用或PDO -更先进和强大,但同时会节省你一些努力,当你照顾适当的变量转义,以防止SQL注入攻击你的应用程序。
  2. 在你的应用中做一些错误处理