警告:mysql_query()期望参数2是资源

时间:2013-05-08 05:36:19

标签: php mysql login mysqli

我目前遇到以下脚本的问题。执行脚本后,我收到消息“连接正常!”但是,我还收到以下消息:

  

警告:mysql_query()期望参数2是资源,对象   在/opt/lampp/htdocs/worldofclucky.net/scripts/auth.php中给出   11

     

警告:mysql_fetch_array()期望参数1为resource,null   在/opt/lampp/htdocs/worldofclucky.net/scripts/auth.php中给出   12

知道我做错了什么吗?我远非PHP / MySQL专家,我甚至不认为我自己是新手......我确实做了一些测试,$ username变量正确地从上一页发送并在输入SELECT * FROM forum.mybb_users WHERE username = 'x_clucky' LIMIT 1时MySQL客户端,它提供了您期望获得的所有信息。 PHP代码如下:

<?php
$username=$_POST["username"];
$hashed_password = md5($_POST['password']); /* For MyBB its $mybb->input['password'] */
$con=mysqli_connect("worldofclucky.net","clucky","CENSORED","forum");

// Check connection
if (mysqli_connect_errno($con))
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  } else { echo "Connection was OK!\n";}
$query = mysql_query("SELECT * FROM mybb_users WHERE `username` = '$username' LIMIT 1",$con);
$row = mysql_fetch_array($query);

$encrypted_password = md5(md5($row['salt']).$hashed_password);
if($encrypted_password == $row['password']) {
echo "<script>alert('test');</script>";
}
mysqli_close($con);
?>

先谢谢你的帮助

2 个答案:

答案 0 :(得分:8)

mysql更改为mysqli并使用以下类型的查询。您不能完全使用mysqlmysqli

$query = mysqli_query($con, "SELECT * FROM mybb_users WHERE `username` = '$username' LIMIT 1");
$row = mysqli_fetch_array($query);

答案 1 :(得分:2)

从快速查看看起来您似乎正在使用mysqli函数进行连接,然后使用mysql函数来进行实际查询。 mysql_ *函数现已弃用。