Я новичок в 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);
Изменить:
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
установлен правильно?