Intereting Posts
Как передать переменную php в имя класса синтаксиса html? PHP DOMDocument: как анализировать xml / rss теги с именами полей CUSTOM? Опубликовать фотографию на стене facebook Клиент / сессия Magento не работает Как сделать простой модуль в OpenCart? Пример получения последних сообщений от WordPress и показ его в OpenCart? Некоторые электронные письма контактной формы не отправляются из-за фильтрации спама на хосте Форма поиска с одним или несколькими (несколькими) параметрами Удалить раздел информации о заказе из шаблона электронной почты в woocommerce AJAX / PHP – Как получить опубликованные данные для загрузки в модальный на той же странице file-> getMimeType () всегда возвращает приложение / октет-поток с Zend Framework PHP json_decode на 32-битном сервере SimpleXML получает элемент Элемент между дочерними элементами Где я могу найти версию yii моего приложения yii? Использование try / catch с cURL в PHP PHP: Каков поток управления для обработки ошибок?

Вызов функции-члена fetch () для boolean

Я получаю эту ошибку:

Неустранимая ошибка: вызов функции-члена fetch () в boolean в C: \ xampp \ htdocs \ repo \ generator \ model \ database.php в строке 34

Когда я запускаю этот код:

class database { private $user = 'root'; private $pass = ''; public $pdo; public function connect() { try { $this->pdo = new PDO('mysql:host=localhost; dbname=generatordatabase', $this->user, $this->pass); echo 'Połączenie nawiązane!'; } catch(PDOException $e) { echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage(); } } public function createTable() { $q = $this->pdo -> query('SELECT * FROM article'); while($row = $q->fetch()) { echo $row['id'].' '; } $q->closeCursor(); } } ?> 

    Согласно руководству PHP для PDO :: query

    PDO :: query () возвращает объект PDOStatement или FALSE при сбое.

    Похоже, что ваш запрос не работает (в строке 33) и, таким образом, возвращает BOOLEAN (false), вероятно, потому что в тот момент выполнения PDO не подключился к базе данных, которая содержит таблицу, называемую статьей . В методе connect () я вижу, что он пытается подключиться к db, называемому 'generatordatabase'; убедитесь, что это соединение выполняется до вызова createTable (), в противном случае убедитесь, что он содержит таблицу под названием «статья».

    Я бы рекомендовал добавить еще несколько примеров кода, например код, вызывающий этот класс / метод до того, как будет запущена ошибка.

    Некоторая обработка ошибок поможет вам избежать таких проблем:

     $q = $this->pdo->query('SELECT * FROM article'); //error case if(!$q) { die("Execute query error, because: ". print_r($this->pdo->errorInfo(),true) ); } //success case else{ //continue flow }