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 是您将默认使用的数据库..
我刚开始学习 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 是您将默认使用的数据库..