php - PDO无法连接数据库

标签 php mysql pdo

我们学校让我们起诉我试图通过学校网络访问的一个小型数据库。 连接使用

mysql -D ddddd -h hhhh -u uuuu

工作正常(请注意,与本网站上的多个问题相反,hhhh 不是本地主机)。然而,使用

new PDO('mysql:host=hhhh;dbname=dddd, uuuu, pppp)

不会,并会报错:

error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock''

如何找到这个 socket ? (注意:以防万一,学校计算机在 FreeBSD 上运行,而我只有非常有限的权限)。

最佳答案

错误:

error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock''

表示 PDO 正在尝试通过本地套接字(linux 套接字是文件)连接到 MySQL。

但我猜你想通过主机名/IP 连接。你的代码必须是错误的。从这个例子看起来你正在使用 php。尝试仔细检查所有内容。

这是一个来自 php.net 的例子:

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

关于php - PDO无法连接数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36567595/

相关文章:

mysql - 选择ID后的记录

php - PDO 找不到驱动程序 (DOCKER)

php - 在一个循环中执行两条 PDO 语句

javascript - 如何自动缩放mPDF中的SVG对象以适合页面的其余部分?

php - Paypal 沙盒 curl NVP 请求失败 (DoExpressCheckoutPayment)

php - 为从 MySQL 获取的数组的每一行创建一个 div

php - 如何获得多项选择调查的答案?

php - PDO 准备语句不会用数据替换占位符

php - Cron Job PHP 脚本失败,但脚本将通过 CLI 或浏览器运行

PHP 和百万数组宝贝