数据库 num_rows 返回 NULL 是怎么回事

2014-10-23 17:27:35 +08:00
 jacob

数据库正常,权限正常,在mysql里可以正常查询到结果。
但是php里就返回null。

<?php
session_start();
if (isset($_POST['userid']) && isset($_POST['password'])) {
  $userid= $_POST['userid'];
  $password= $_POST['password'];

  $db_conn =  new mysqli('localhost', 'webauth', 'webauth', 'auth');
  var_dump($db_conn);
  if (mysqli_connect_errno()) {
    echo 'Connection failed'.mysqli_connect_errno();
    exit();
    # code...
  }

  $query= 'select count * from authorized_users'."where name= '".$userid."'"."&& password= sha1('".$password."')";
  $result= $db_conn->query($query);
  if ($result->num_rows) {
    $_SESSION['valid_user']= $userid;
    # code...
  }
  $db_conn->close();
}
?>

<html>
<body>
<h1>Home page</h1>
<?php
if (isset($_SESSION['valid_user'])) {
  echo "You are logged in as: ".$_SESSION['valid_user'].'<br />';
  echo '<a href= "logout.php">Log Out</a>';
}

else{
  if(isset($userid)){
    echo 'Could not log you in.<br />';
  }
  else {
    echo 'You are not logged in.<br />';
  }
  echo '<form method= "post" action= "authmain.php">';
  echo '<table>';
  echo '<tr><td>Userid: </td>';
  echo '<td><input type= "text" name= "userid"></td></tr>';
  echo '<tr><td>Password: </td>';
  echo '<td><input type= "password" name= "password"></td></tr>';
  echo '<tr><td colspan= "2" align= "center">';
  echo '<input type= "submit" value= "log in"></td></tr>';
  echo '</table></form>';
}
?>
<br />
<a href="members_only.php">Members section</a>
</body>
</html>
3513 次点击
所在节点    PHP
6 条回复
hcymk2
2014-10-23 17:32:28 +08:00
select count * from authorized_users
mysql 可以这样写 count ?
jacob
2014-10-23 17:35:55 +08:00
@hcymk2 不好意思,那是出了问题,我不小心加上的,本来是没有的,

这个链接是本来的样子,带行号的
http://paste2.org/N1pMVOHN
Delbert
2014-10-23 17:40:40 +08:00
'select count * from authorized_users' -> 'select count * from authorized_users '试试。
中间没有空格的话就成了 authorized_userswhere 而不是 authorized_users where 了吧?
无责任猜测。
jacob
2014-10-23 17:44:51 +08:00
@Delbert

我了个去,还真是这个原因,说点啥好呢。
muziyue
2014-10-24 10:55:01 +08:00
这种bug打印一下sql语句就完事了
jacob
2014-10-24 12:07:54 +08:00
@muziyue 嗯,好办法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/141047

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX