Неустранимая ошибка: вызов функции-члена fetchAll () для не-объекта в pdo

Я новичок в pdo, просто попробовал следующее и получил фатальную ошибку.

$pdo = new pdo('mysql:localhost;widget_corp;charset=utf-8', 'root', ''); $query = $pdo->query("SELECT * FROM 'users'"); $result_array = $query->fetchAll(PDO::FETCH_ASSOC); 

Related of "Неустранимая ошибка: вызов функции-члена fetchAll () для не-объекта в pdo"

Изменить:

 mysql:localhost;widet_corp 

в

 mysql:host=localhost;dbname=widget_corp 

Также в вашем опубликованном коде:

 $query = $pdo->query("SELECT * FROM 'users'"); 

у вас есть имя таблицы внутри одинарных кавычек. В Mysql вы должны использовать обратную сторону вместо таблиц и столбцов.

  $query = $pdo->query("SELECT * FROM `users`"); 

PDO::query возвращает false если ваш запрос неверен.

SELECT * FROM 'users'

должно быть

 SELECT * FROM `users` 

$pdo->query() вернет false, если запрос завершится с ошибкой. Вы не инициируете pdo правильно, и вы, вероятно, хотите проверить, не вызвал ли запрос ошибку, так что:

 $pdo = new pdo('mysql:host=localhost;dbname=widget_corp;charset=utf-8', 'root', ''); $query = $pdo->query("SELECT * FROM `users`"); if($query !== false) { $result_array = $query->fetchAll(PDO::FETCH_ASSOC); } 

Вместо этого используйте этот код:

 $pdo = new PDO('mysql:host=localhost;dbname=widget_corp;charset=UTF-8', 'root', ''); $query = $pdo->query("SELECT * FROM `users`"); $result_array = $query->fetchAll(PDO::FETCH_ASSOC); 

Если это не работает, уверены ли вы, что PDO установлен правильно?