PHP PDO驱动程序


PHP PDO drivers

我刚开始学习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]: Invalid catalog name: 1046 No database selected'在C:'Users'user1'PhpstormProjects'PDO' PDO .php:11堆栈跟踪:#0 C:'Users'user1'PhpstormProjects'PDO' PDO .php(11): PDO->query('select * from u…')#1 {main}在第11行C:'Users'user1'PhpstormProjects'PDO' PDO .php中抛出。任何帮助吗?

提前感谢:)。

请确保您的数据库确实存在,并且您的连接代码中没有拼写错误。

编辑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);

替换此处理程序声明:

$handler = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);

其中myDatabase是您将使用的默认值