ЗЛО Непонимание - PullRequest
       1

ЗЛО Непонимание

0 голосов
/ 30 сентября 2011

Я пишу свой блог движок PHP.Я использую PDO для этого.И теперь, когда я пишу класс Member - у меня возникает ошибка.

Неустранимая ошибка: вызов функции-члена fetch () для необъекта в / home / tucnak / Server / scripts /php / classes / Member.php в строке 42

И исходный код моего класса:

public function authMember($user, $password)
{
    $password = hashIt($password);
    $count = 100500;
    $count = $this->db->query("SELECT count(*) FROM users-general WHERE nick = $user AND password = $password;")->fetch();
    echo($count);
    // if ($count == 1){ return 1; } else { throw new Exception("",491); }
}

У меня ошибка при использовании этой функции.

Ответы [ 2 ]

2 голосов
/ 30 сентября 2011

Ваш запрос, вероятно, не выполнен, потому что вы не заключили в кавычки ваш запрос.

Когда это произойдет, query() вернет false вместо объекта, разрывая цепь.

Не делай так; сначала запустите запрос, сохраните его результат, а затем проверьте, является ли он ложным.

Кстати, вы действительно должны использовать подготовленные операторы - ваш текущий оператор уязвим для SQL-инъекций .

0 голосов
/ 30 сентября 2011
"SELECT count(*) FROM `users-general` WHERE nick = '$user' AND password = '$password'"

обратите внимание на одинарные кавычки 2 различных типов

Думаю, ваше недоразумение не имеет ничего общего с PDO. это базовый синтаксис SQL, который вы должны выучить

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