Php не может проверить, пустой ли результат PDO с помощью empty() возвращает FATAL ERROR

Я хочу проверить, вернулся ли мой подготовленный запрос пустой или нет, без необходимости входить в цикл. Это код, который я пытался использовать:

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

Когда я пытаюсь это сделать, я получаю сообщение об ошибке:

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

Использую ли я PDO->fetchALL или PDO->fetch, я получаю ту же ошибку. Должен ли я делать что-то по-другому?

Ответы

Ответ 1

Вам нужно присвоить результаты переменной, а затем вызвать empty() для переменной. Это просто раздражающее ограничение функции empty(). См. этот вопрос.

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