2015-10-29 5 views
0

Я получаю сообщение об ошибке «mysql_fetch_assoc() ожидает, что параметр 1 будет ресурсом« Я считаю, что чего-то не хватает, но я не знаю, что это может быть. Если я удалю «mysql_fetch_assoc», я получаю аналогичную ошибку. Я новичок в PHP.Почему я получаю эту ошибку? Как я могу исправить?

if ($username) { 
    if ($_POST['submit']) { 
     $oldpassword = $_POST['oldpassword']; 
     $newpassword = $_POST['newpassword']; 
     $repeatnewpassword = $_POST['repeatnewpassword']; 

     $connect = mysqli_connect("", "", "", ""); 
     mysqli_select_db($connect, "phplogin"); 

     $queryget = ("SELECT password FROM users WHERE username = '$username'") or die("Error: Unregistered user."); 
     $row = mysql_fetch_assoc($queryget); 

     $oldpassworddb = $row['password']; 

     if ($oldpassword==$oldpassworddb) 
     { 
      if ($newpassword==$repeatnewpassword) { 
       echo "yay!"; 
      } 
      else 
       die("Error: New passwords don't match."); 
     } 
     else 
      die("Error: Wrong initial password."); 
    } 
} 
else 
    die("Error: Must be logged in."); 

Что это значит и как это можно решить?

+0

Вы также пытаетесь объединить два разных расширения mysql, размытое расширение mysql_ * и более новое расширение mysqli_ *. Вы должны использовать подготовленные заявления при работе с представленными пользователем данными, а также любые данные, представленные пользователем, должны быть проверены – SpacePhoenix

ответ

1

Вы на самом деле не делает запрос, так что вы должны иметь

$queryget = mysql_query("SELECT password FROM users WHERE username = '$username'") 

mysql_query() возвращает resource.

Смежные вопросы