我是 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
安装正确吗?