PHP PDO возвращает true - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь извлечь некоторые данные из моей базы данных, но возвращается логическое значение (как и ожидалось), но затем, когда я пробую варианты ->fetch(), я получаю ошибку Fatal error: Uncaught Error: Call to a member function fetch() on bool.

Почему-то кажется, что ->execute(); -функция спасает не объект, а bool - я не знаю почему. Я думаю, что я слепо смотрю на свой код?

код

<?php
$cc = $pdo->prepare("SELECT country FROM quarter WHERE company_id = ? GROUP BY 1 ORDER BY country ASC")->execute([$_GET["id"]]);
#var_dump($cc);
var_dump($cc->fetch());
var_dump($cc->fetchAll(PDO::FETCH_COLUMN));
?>

Ожидаемый ответ

country
GB
NO

Фактический ответ

Fatal error: Uncaught Error: Call to a member function fetch() on bool in [..]

1 Ответ

0 голосов
/ 13 января 2019

Метод execute() возвращает bool, а prepare() возвращает object

Вы должны использовать fetch() метод самого объекта

$cc = $pdo->prepare("SELECT country FROM quarter WHERE company_id = ? GROUP BY 1 ORDER BY country ASC");

$cc->execute([$_GET["id"]]);
#var_dump($cc);
var_dump($cc->fetch());
...