Ошибка получения num_rows с mysqli - PullRequest
0 голосов
/ 12 марта 2012

У меня есть этот код:

$query  = 'SELECT * FROM users WHERE username = "' . $user . '" AND password = MD5("' . $pass . '") LIMIT 1';  
echo $query;
$result = $mysqli->query($query);
echo "<br>Here: " . $result->num_rows;

Используя вывод $query Я помещаю его в phpmyadmin, и он возвращает 1 строку, но при попытке получить количество строк, используя num_rows itвообще ничего не возвращает - даже 0;

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 12 марта 2012

Похоже, что SQL-запрос не работает. Насколько я знаю, в MySQL нет ни встроенной функции MD5, ни стандарта SQL. Следовательно, если он существует, то, вероятно, он является собственностью конкретной БД.

Тем не менее, вы можете использовать PHP, чтобы проверить это. Попробуйте это, чтобы увидеть, что происходит.

$encrypted_pass = md5($pass);
$query  = "SELECT * FROM users WHERE username = '$user' AND password = '$encrypted_pass' LIMIT 1";  
echo $query;
$result = $mysqli->query($query);

if ($result !== FALSE) {
  echo "<br>Here: " . $result->num_rows;
}
else {
  echo "Something is broken.";
}

Ref:
http://us2.php.net/manual/en/mysqli-result.num-rows.php

0 голосов
/ 12 марта 2012

http://ru2.php.net/manual/en/mysqli.query.php

Возвращает FALSE при ошибке.

Вы установили соединение с вашей БД?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...