Я строю простую систему входа. У меня возникают проблемы с получением хэша паролей из базы данных.Не удалось получить результаты из таблицы MySQL с PDO
Это то, что у меня есть:
$statement = 'SELECT Pass FROM Emails WHERE Email = "?"';
$question = array($email);
try {
$DB->beginTransaction();
$preparedStatement = $DB->prepare($statement);
$preparedStatement->execute($question);
$resultArr = $preparedStatement->fetchAll();
print_r($resultArr);
$DB->commit();
} catch(\PDOException $ex) {
echo "Seriously bad error. ";
echo $ex->getMessage();
return false;
}
Моя проблема заключается в том, что $resultArr
всегда не содержит элементов.
Я знаю, что сам SQL-запрос работает, поскольку я тестировал его непосредственно в MySQL.
Я считаю, что я должен использовать подготовленный оператор, поскольку я отправляю пользовательский ввод в MySQL и должен защищаться от простых атак SQL-инъекций.
Я использую fetchAll()
, чтобы убедиться, что есть только один результат для данного письма. В противном случае возникнет огромная проблема.
Какая у меня ошибка?
Почему '$ вопрос = массив ($ электронная почта);'? Почему не просто '$ question = $ email?'? –
Возможный дубликат [Получить результаты из MySQL с использованием PDO] (http://stackoverflow.com/questions/13962789/get-results-from-mysql-using-pdo) –
удалить двойные кавычки вокруг? – Hytool