[英]PDO_mysql driver doesn't work
我在Windows 8,XAMPP 1.8.1,PHP 5.4.7和MySQL上使用Apache服务器。 我决定将我的代码转换为PDO。
检查我的phpinfo() ,似乎已启用MySQL的PDO驱动程序,但我仍然继续收到“找不到驱动程序”错误。
这是代码:
<?php
//connect to database
$config['db'] = array(
'host' => 'localhost',
'username' => 'root',
'password' => '',
'dbname' => 'x'
);
$db = new PDO("
pdo_mysql:host= " .$config['db']['host']. ";
dbname= " .$config['db']['dbname']. ";
username= " .$config['db']['username'].";
password= " .$config['db']['password']."
");
?>
错误:
致命错误:消息为“找不到驱动程序”的未捕获异常“ PDOException”
有什么建议么?
让我建议您参考手册页并从中获取正确的 DSN字符串示例
如果将DSN前缀从pdo_mysql
为mysql
怎样?
正如手册所说的链接
您应该通过以下方式格式化dsn: DRIVER:host=YOURHOST;dbname=YOURDB
同样,要创建实例,您应该像这样: $db = new PDO($dsn, $username, $password)
我也忘了说(正如其他用户指出的那样),您的驱动程序是“ mysql”而不是pdo_mysql
最后,代码有两个问题:
1. pdo_mysql-> mysql
2.用户名和密码应作为变量而不是字符串传递。
正确的代码是:
$config['db'] = array(
'host' => 'localhost',
'username' => 'root',
'password' => '',
'dbname' => 'x'
);
$db = new PDO (
"mysql:host=".$config['db']['host'].";dbname=".$config['db']['dbname']."",
$config['db']['username'],
$config['db']['password']
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.