Предупреждение: mysql_fetch_assoc () ожидает, что параметр 1 будет ресурсом, объект указан

Возможный дубликат:
Ошибка PHP: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean

Кажется, я не могу понять, что я делаю неправильно. Поэтому, когда я отправляю свою форму, я получаю предупреждение и

Примечание. Неопределенная переменная: имя dbus в /Library/WebServer/Documents/ArturoLuna_Final/loginCheck.php в строке 30

$username = $_POST['username']; $password = $_POST['password']; if($username&&$password) { require 'conn.php'; $query = "SELECT * FROM users WHERE username='$username'"; $result = $mysql->query($query) or die(mysqli_error($mysql)); $numrows = $result->num_rows; if ($numrows!=0) { while($row = mysql_fetch_assoc($result)) { $dbusername = $row['username']; $dbpassword = $row['password']; } //check to see if they match! if($username==$dbusername&&$password==$dbpassword) { echo "youre In!"; } else echo "incorrect password!"; } else die("that user is dead"); //echo $numrows; } else echo ("Please Enter Username") 

что я могу делать неправильно?

+ Изменить

 while($row = mysql_fetch_assoc($result)) 

в

 while($row = $result->fetch_assoc()) 

Вы пропустили i от имени функции и перепутали OO и код процедурного стиля, поэтому вы смешиваете mysql_* результата mysql_* и объекты mysqli_result .

Вы смешиваете традиционные PHP MySQL-функции mysql_* с интерфейсом MySQLi. В этом случае mysql_fetch_assoc() ожидает дескриптор ресурса, созданный с помощью mysql_query() .

Чтобы получить правильный результат, вам необходимо использовать метод MySQLi:

 $row = $result->fetch_assoc(); 

И пока вы на нем, вы можете подумать о том, чтобы сделать код менее восприимчивым к MySQL-инъекции. Правильно избегайте любого введенного пользователем ввода перед его интерполяцией в строку запроса или, еще лучше, используйте средства привязки параметров MySQLi.