2013-11-19 7 views
0

В приведенном ниже коде, когда я передаю $id_num, чтобы проверить поле id в базе данных, он принимает, но когда я хочу передать идентификатор пользователя для проверки с помощью базы данных, он отображает следующую ошибку;Ошибка подключения к базе данных

Предупреждение: mysqli_fetch_array() ожидает параметр 1, чтобы быть mysqli_result, логическое значение, данное в строке нет 12

Может кто-нибудь сказать мне, где я буду неправильно.

код:

if(isset($_POST['user_mail']) && isset($_POST['user_pass'])) 
{ 
    $var_1=$_POST["user_mail"]; 
    $var_2=$_POST["user_pass"]; 
    $result = mysqli_query($con,"SELECT * FROM jsrao_db2 WHERE user_mail=$var_1"); 
    while($row = mysqli_fetch_array($result)) 
    { 
      if(($row['user_mail']==$var_1) && ($row['user_pass']==$var_2))//compare user name and password with database value 
      echo "Welcome"; 
      else 
      echo "Try Again"; 
    } 
+1

выполнить этот запрос на тузд терминале или в PHPMyAdmin первыми. убедитесь, что запрос возвращает данные из таблицы. –

+0

тот же код работает, когда я использую
if (isset ($ _ REQUEST)) \t { \t $ id_num = $ _ REQUEST ["id"]; \t \t $ id = 1; \t echo "

"; \t $ result = mysqli_query ($ con, "SELECT * FROM jsrao_db1 где Id = $ id_num"); // print table \t while ($ row = mysqli_fetch_array ($ result)) – Sp0T

+0

@ Fred-ii- - markdown может сбивать с толку в начале ... – Lix

ответ

2

изменить ваш запрос

$result = mysqli_query($con,"SELECT * FROM jsrao_db2 WHERE user_mail=$var_1");<br> 

должен быть

$result = mysqli_query($con,"SELECT * FROM jsrao_db2 WHERE user_mail='$var_1'");<br> 

user_mail является строка так вложить $ var_1 в '$ VAR_1'

+2

Я бы хотя бы рекомендовал использовать подготовленные заявления. – Rogue

+0

ohk thanks. теперь он работает. – Sp0T

+0

не забудьте принять ответ –

1

Использование Prepared Statements для очистки кода:

$result = false; 
$stmt = $con->prepare("SELECT * FROM jsrao_db2 WHERE user_mail=?"); 
$stmt->bind_result($result); 
$result = $stmt->bind_param("s", $var_1)->execute(); 
if ($result) { 
    //work with $result 
} 
Смежные вопросы