连接失败:找不到司机

时间:2016-11-05 22:44:27

标签: php mysql pdo

我在Windows 10上,而且我正在使用WAMP。我正在尝试使用准备好的PDO语句创建登录表单。下面是发出错误的connect.php脚本的代码:"连接失败:找不到驱动程序"。

<?php

$server = 'localhost';
$username = 'root';
$password = '';
$db = 'login';

try{
    $conn = new PDO("mysqli:host=$server;dbname=$db", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected Successfully";
}catch(PDOException $e){
    echo "Connection falied: " . $e->getMessage();
}
 ?>

这是我的php.ini文件列表,显示与pdo相关的DLL

extension=php_openssl.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pdo_mysql.dll
extension=php_pdo.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
;extension=php_shmop.dll

WAMP说&#34;没有dll文件&#34;对于:     -php_mysqli     -php_pdo

我有&#34; php_pdo&#34; damp文件在wamp / bin / php5.6.25 /和wamp / bin / php5.6.25 / ext /以防万一。 我无法找到php_mysqli的下载,但我认为我不需要为PDO下载,但如果有人有下载链接会很高兴。

所以我的问题是,我刚刚将dll文件安装到错误的目录中,还是什么?我不确定该怎么做,但我刚刚安装了WAMP,我无法使用PDO。我应该使用其他客户(我不确定他们叫什么)。

2 个答案:

答案 0 :(得分:1)

编辑:我决定将我的答案更改为社区维基,因为我觉得不应该有任何代表。另外,问题是不止一次打字错误。

原始答案:

语法为:

  • mysql:host

而不是mysqli。我希望根据new PDO("msqli:host

的原始帖子https://stackoverflow.com/revisions/40444027/1,这不是另一个“拼写错误”
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

根据手册:

注意:Wamp应该可以“开箱即用”,不需要添加任何驱动程序。

我也使用Wamp和xampp,从来没有遇到过问题。

另外,Wamp安装有不同的风格(32位和64位),因此请确保选择正确的。

您也可以尝试安装xampp

也可以使用错误报告,这在这里会有所帮助:

答案 1 :(得分:0)

我认为您有拼写错误,请尝试msqli而不是$conn = new PDO("mysql:host=$server;dbname=$db", $username, $password);

{{1}}

同样来自评论:

  1. 尝试把它放在php.ini中:extension_dir =“c:\ php5 \ ext”并指向扩展名
  2. 在其他PDO扩展之前移动php_pdo.dll,然后重新启动WAMP