我在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。我应该使用其他客户(我不确定他们叫什么)。
答案 0 :(得分:1)
编辑:我决定将我的答案更改为社区维基,因为我觉得不应该有任何代表。另外,问题是不止一次打字错误。
原始答案:
语法为:
mysql:host
而不是mysqli
。我希望根据new PDO("msqli:host
$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}}
同样来自评论: