gpt4 book ai didi

php - 使用 mysqli 或 PDO 时无法通过 PHP 脚本连接到 MySQL 但 mysql 可以工作

转载 作者:行者123 更新时间:2023-11-29 04:31:17 25 4
gpt4 key购买 nike

我遇到了一个奇怪的情况。当我尝试使用“mysql”连接连接到 MySql 数据库时,它起作用了。

mysql connection string -> mysql_connect($HOST, $USER, $PASSWORD, $DB); 

但是当我使用“mysqli”或“PDO”时,连接立即失败

mysqli connection string -> mysqli_connect($HOST, $USER, $PASSWORD, $DB); 
PDO Connection string -> new PDO("mysql:host=$HOST;dbname=$DB", $USER, $PASSWORD);

它抛出的具体错误是,

SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'localhost' (10061

你们能帮帮我吗?谢谢。

最佳答案

我时常遇到这种情况。最常见的解释是 MySQL 服务器被配置为在一个路径上使用套接字文件,但是 php.ini 中关于 mysqli 或 pdo_mysql 的部分正在寻找另一个路径上的套接字文件。

即使我从 MacPorts 安装了 PHP 和 MySQL,也会发生这种情况。您可能认为他们已经使这两个端口的配置一致。

要么编辑您的 php.ini 以设置套接字文件的正确位置,要么在您启动与 mysqli 或 pdo_mysql 的连接时指定套接字。

pdo = new PDO("mysql:dbname=test;unix_socket=/opt/local/var/run/mysql5/mysqld.sock", 
"username", "password")

$mysqli = new mysqli("localhost", "username", "password", "test",
ini_get("mysqli.default_port"), "/opt/local/var/run/mysql5/mysqld.sock")

另见我写的文章Error2003-CantConnectToMySQLServer .

关于php - 使用 mysqli 或 PDO 时无法通过 PHP 脚本连接到 MySQL 但 mysql 可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2024719/

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