首页 > 解决方案 > 如何查看 mysql_connect 失败的原因?

问题描述

我已经安装了 Linux (Mint) & LAMP 但是

mysql_connect('localhost', 'user', 'password') 

无论我尝试什么都失败了。

我花了至少 6 个小时试图修复它。

phpinfo()

正在工作中

sudo mysql -u user -p

作品

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
Apache Full                ALLOW       Anywhere                  
3306                       ALLOW       Anywhere                  
Apache Full (v6)           ALLOW       Anywhere (v6)             
3306 (v6)                  ALLOW       Anywhere (v6

我还能尝试什么?我该如何调试?我已经在谷歌上搜索了几个小时。唯一不标准的是我安装了 php 5.6,因为我需要它,“php -v”返回:

PHP 5.6.40-30+ubuntu20.04.1+deb.sury.org+1 (cli) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologie

标签: phpmysql

解决方案


如果你真的需要使用mysql_connect那个旧 PHP:

https://www.php.net/mysql_connect的第一个示例显示了您如何查看错误...我不确定您在哪里度过了这 6 个小时 :)

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error()); // MAGIC LINE
}
echo 'Connected successfully';
mysql_close($link);
?>

我的建议以及其他所有人的建议是(正如您问题下的评论所建议的那样):升级到 PHP7.4,然后使用适当的 PDO/Mysqli 连接器


推荐阅读