web-dev-qa-db-ja.com

phpは、empty()を使用してPDOの結果が空かどうかを確認できず、致命的なエラーを返します

ループに入らずに、準備したクエリが空に戻ったかどうかを確認したいと思います。これは私が使ってみたコードです:

if(empty($pQuery1->fetch(PDO::FETCH_ASSOC))){}

これを試してみると、次のエラーが発生します。

Fatal error: Can't use method return value in write context

PDO->fetchALLまたはPDO->fetchのどちらを使用しても、同じエラーが発生します。私は何か違うことをすべきですか?

14
Brook Julias

結果を変数に割り当ててから、変数でempty()を呼び出す必要があります。これは、empty()関数の厄介な制限です。 this の質問を参照してください。

$results = $pQuery1->fetch(PDO::FETCH_ASSOC);
if (empty($results)){}
33
James Skidmore