gpt4 book ai didi

php - "could not find driver"命令的 "new PDO()"错误,PHP 7.0.25

转载 作者:行者123 更新时间:2023-11-29 09:52:51 25 4
gpt4 key购买 nike

我无法使用“new PDO()”,因为我不断收到此错误消息“无法找到驱动程序”。我正在使用 Hostgator,并与他们进行了广泛的合作,但无济于事。

我已将我的 PHP 版本更新到 7.0.25,检查了默认的 php.ini 设置(hostgator 为所有客户使用千篇一律的默认 php.ini 文件...除非您创建自己的自定义 php.ini文件,在这种情况下自定义版本将被覆盖)。我查看了 phpinfo() 结果,一切看起来都很好(除非我遗漏了一些东西)。我已经包含了我的脚本以及 php.ini 文件设置和 phpinfo() 结果的片段。

PHP.ini 文件设置:

[Pdo];是否池化 ODBC 连接。可以是“严格”、“宽松”或“关闭”之一; http://php.net/pdo-odbc.connection-pooling;pdo_odbc.connection_pooling=严格

;pdo_odbc.db2_instance_name

[Pdo_mysql];如果使用mysqlnd:内部结果集缓存的缓存槽数; http://php.net/pdo_mysql.cache_sizepdo_mysql.cache_size = 2000

;本地 MySQL 连接的默认套接字名称。如果为空,则使用内置的; MySQL 默认值。; http://php.net/pdo_mysql.default-socketpdo_mysql.default_socket=

phpinfo() 结果:

PDO 驱动程序:mysql、sqlite

客户端API版本:5.6.41-84.1

指令:pdo_mysql.default_socket

本地值:/var/lib/mysql/mysql.sock

主值:/var/lib/mysql/mysql.sock

<?php

$host = "localhost";
$user = "ABC";
$pw = "123";
$dbName = "XYZ";
$dsn = 'msql:host=' . $host . ';dbname=' . $dbName;
$pdo = new PDO($dsn,$user,$pw); // this is the line that the error refers to

$eml = $_POST['data'];
$newPassword = $_POST['data1'];
$cnewPassword = $_POST['data2'];
$query = $pdo->query("SELECT * FROM accounts WHERE email = $eml") or die(mysql_error());
$row = $query->fetch(PDO::FETCH_ASSOC);


if($row > 0) {
echo "GOOD";
} else {
echo "BAD";
};

?>

我应该得到一个回显“GOOD”,但我一直得到的只是“找不到驱动程序”错误。需要注意的一件重要事情;我确实注意到,hostgator 用于升级的 PHP 版本是非线程安全版本...hostgator 使用 APACHE 服务器,并且我了解到只有线程安全版本才能与 APACHE 服务器一起使用。这可能是问题所在,但不能百分百确定。任何意见/建议将不胜感激!

最佳答案

基本语法错误:

// $dsn = 'msql:host=' . $host . ';dbname=' . $dbName;<br>
$dsn = 'mysql:host=' . $host . ';dbname=' . $dbName;<br>

(msql 而不是 mysql)。

关于php - "could not find driver"命令的 "new PDO()"错误,PHP 7.0.25,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54499281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com