我有这段代码:
$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;
有什么想法吗?
答案 0 :(得分:0)
答案 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.";
}