SQL データベースで $user が subscriberID と等しいすべての情報を取得しようとしています。データを挿入する PDO メソッドを使用していますが、クエリ機能も使用したいと考えています。試行条件から次のエラー メッセージが返されます。
致命的なエラー: オブジェクト以外でのメンバー関数 setFetchMode() の呼び出し
PDOにかなり慣れていないため、データをプルするために使用する方法が問題の原因である可能性があると考えました(データベースへのリンクを確立するtop.phpを含めます)
ご提案ありがとうございます
<?php
include "top.php";
try{
$user = $_SESSION['login'];
echo "Welcome <strong>$user</strong> to your saved holidays";
//$getSavedHolidays = $db->query("SELECT * FROM saved_holidays WHERE subscriberID='$user'");
//preparing a PDO statment for accessing saved holidays when the logged in user matchs the subscriberID
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$getSavedHolidays = $db->prepare("SELECT * FROM saved_holidays WHERE subscriberID=:user");
//uses a bind valu as this makes the statment more secure
$getSavedHolidays->bindValue(":user", $_SESSION['login']);
$getsavedHolidays->setFetchMode(PDO::FETCH_ASSOC);
$getSavedHolidays->execute();
foreach ($Result as $row)
{
echo "<p><a href'".$row['link']."'>".$row['title']."</a><br \>" .
$row['description'] . "<br \>" .
$row['pubDate'] ."<br \></p>";
}
}
catch (PDOException $e)
{
print_r($e->errorInfo);
die();
}
?>