我如何解决错误信息
警告:mysql_fetch_array()期望参数1是资源, 对象
我的代码:
if(isset($_POST['login']))
{
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$res = $MySQLiconn->query(" SELECT * FROM users WHERE username = '$username' ");
$row = mysql_fetch_array($res);
if($row['password'] == md5($password))
{
$_SESSION['login'] = $row['user_id'];
echo $_SESSION['login'];
}
else
{
echo "<script>alert('wrong details')</script>";
}
}
有人可以帮忙吗?
答案 0 :(得分:1)
实际问题是您将mysqli
方法和mysql
方法混合在一起。
$res = $MySQLiconn->query(" SELECT * FROM users WHERE username = '$username' ");
在mysqli和
$row = mysql_fetch_array($res);
在mysql中。所以在这里传递$res
object
mysqli::query
返回一个对象,而mysql_fetch_array()
需要一个资源,这就是它显示这样一个错误的原因。 。因此,请使用mysql
或使用mysqli
来解决问题。
答案 1 :(得分:1)
您正在代码中混合mysql
和mysqli
次来电。使用mysqli_fetch_array
代替mysql_fetch_array.