我刚刚开始学习PDO,我需要一些帮助,我安装PHPStorm,我也开始使用它,我已经在phpMyAdmin上有一个数据库,我做了这个代码,但它给了我一个错误
<?php
try {
$handler = new PDO ('mysql:localost;dbname=Database', 'root', 'password');
$handler -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOExeption $e)
{
die('Sorry, Database problem');
}
$query = $handler->query('select * from users');
while($r= $query->fetch())
{
echo $r['name'];
}
?>
这是错误:
致命错误:未捕获异常'PDOException',消息'SQLSTATE [3D000]:无效的目录名称:1046未选择数据库'在C:\ Users \ user1 \ PhpstormProjects \ PDO \ pdo.php:11堆栈跟踪:#0 C:\ Users \ user1 \ PhpstormProjects \ PDO \ pdo.php(11):PDO-&gt; query('select * from u ...')#1 {main}抛出C:\ Users \ user1 \ PhpstormProjects \第11行的PDO \ pdo.php。 有帮助吗?
提前谢谢:)。
答案 0 :(得分:2)
请确保您的数据库确实存在且您的连接代码中没有拼写错误。
修改1
我也注意到您的连接存在这个问题我不确定这是否是导致它的原因,但您需要mysql:host=
而不仅仅是mysql:localhost
。您还有拼写错误 localost 。
改变这一点,
$handler = new PDO ('mysql:localost;dbname=Database', 'root', 'password');
要,
$handler = new PDO('mysql:host=localhost;dbname=myDb', $username, $password);
答案 1 :(得分:0)
替换此处理程序声明:
$handler = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
其中myDatabase是您默认使用的那个..