发出使用mysqli获取num_rows

时间:2012-03-12 19:39:15

标签: php mysqli

我有这段代码:

$query  = 'SELECT * FROM users WHERE username = "' . $user . '" AND password = MD5("' . $pass . '") LIMIT 1';  
echo $query;
$result = $mysqli->query($query);
echo "<br>Here: " . $result->num_rows;

使用$query的输出我将它放入phpmyadmin并返回1行但是当尝试使用num_rows获取行数时它根本不返回任何内容 - 甚至不返回0;

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

http://ru2.php.net/manual/en/mysqli.query.php

  

失败时返回FALSE。

您是否已建立与数据库的连接?

答案 1 :(得分:0)

看起来SQL查询搞砸了。据我所知,MySQL没有内置MD5功能,也没有SQL标准。因此,如果它确实存在,那么它可能是特定数据库的专有权。

那说你可以使用PHP来检查它。试试看看发生了什么。

$encrypted_pass = md5($pass);
$query  = "SELECT * FROM users WHERE username = '$user' AND password = '$encrypted_pass' LIMIT 1";  
echo $query;
$result = $mysqli->query($query);

if ($result !== FALSE) {
  echo "<br>Here: " . $result->num_rows;
}
else {
  echo "Something is broken.";
}

价:
http://us2.php.net/manual/en/mysqli-result.num-rows.php