古いmysql_*関数からPDOにいくつかのコードを更新しています。問題なく接続し、問題なくクエリを実行しますが、結果セットは空です。PDO :: query()はPDOStatementオブジェクトを返すことになっていますが、その代わりにtrueを取得しています。エラーは報告されません。
これが私のコードです:
try
{
$DB = new PDO("mysql:host=localhost;dbname=dbname", "user", "pass");
$stmt = $DB->prepare("SELECT * FROM report_clientinfo");
$stmt->execute();
}catch(PDOException $e)
{
echo $e->getMessage() . "\n";
}
echo gettype($stmt) . "\n";
if ($stmt) echo "true\n";
else echo "false\n";
$resultset = $stmt->fetchAll();
if(empty($resultset))
{
exit("ERROR: getClientInfo query failed.");
}
$DB = null;
print_r($resultset);
私が見ている出力は次のとおりです。
オブジェクトtrueエラー:getClientInfoクエリが失敗しました。
結果が返されない理由はありますか?