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'];
}
?>

这是错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected' in C:\Users\user1\PhpstormProjects\PDO\pdo.php:11 Stack trace: #0 C:\Users\user1\PhpstormProjects\PDO\pdo.php(11): PDO->query('select * from u...') #1 {main} thrown in C:\Users\user1\PhpstormProjects\PDO\pdo.php on line 11. Any help?

提前致谢:)。

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

编辑 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 是您将默认使用的数据库..