PHP PDO驱动程序

时间:2015-08-25 15:35:32

标签: php mysql pdo database-connection

我刚刚开始学习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。   有帮助吗?

提前谢谢:)。

2 个答案:

答案 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是您默认使用的那个..