我試圖綁定一個參數,所以我可以根據WHERE
子句查詢數據庫,該子句檢查存儲在SESSION
中的用戶用戶名。用戶名肯定是存儲在會話中,因爲我可以看到它當我var_dump($_SESSION)
所以我知道這是問題的原因。PDO參數綁定導致異常
而不是獲取返回的ID,我得到異常。例如,當我更改:user
爲'Maverick'
(顯然是來自數據庫的有效用戶名),它將返回該ID。有任何想法嗎?
$username = $_SESSION['username'];
try {
$result = $db->query("SELECT id FROM user_info WHERE username = :user");
$result->bindParam(':user', $username);
$result->execute();
$user_info = $result->fetchAll(PDO::FETCH_ASSOC);
}
catch (Exception $e) {
echo "Could not retrieve user's ID";
exit;
}
不知道它是如何相關的,但是當我實際上做替換:用戶與小牛,然後就echo $user_info
它不返回任何東西,但是當我做var_dump($user_info);
它顯示了以下內容: array(1) { [0]=> array(1) { ["id"]=> string(2) "59" } }
我想我的問題在技術上是一個由兩部分組成的問題。非常感謝。
在你的catch塊,把'echo $ e-> getMessage();'看看錯誤是什麼。 –
謝謝,這真的很有用!爲了測試getMessage,我改變了準備,它告訴我錯誤是如你所期望的那樣。優秀的一點套件。 –