我正在構建一個簡單的登錄系統。我遇到的麻煩是從數據庫中獲取密碼哈希。無法從PDO中獲取MySQL表的結果
這是我有:
$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;'? –
[使用PDO從MySQL獲取結果]的可能重複(http://stackoverflow.com/questions/13962789/get-results-from-from-mysql-using-pdo) –
刪除雙引號? – Hytool