使用php链接mysql数据库的时候报错了,错误提示:Warning: mysqli::__construct(): (HY0002002):

使用php链接mysql数据库的时候报错了,错误提示:Warning: mysqli::__construct(): (HY0002002):,第1张

$result = mysqli_query($connect, $query) or die ('Error querying database.')这句话后面加上. mysqli_error($connect ))即改为:

$result = mysqli_query($connect, $query) or die ('Error querying database.'. mysqli_error($connect )))

查看一下返回什么错误描述,然后根据错误描述进行修改,当然也可以查看mysql的错误日志啦

ps:光从代码上没看出错误,有可能数据库里的字段名你写错了

info.php在CentOS

64位虚拟机运行的时候,其中MySQL版本那一栏是空白信息。我查看了info.php源码,开始以为是MySQL数据库的用户名和密码填写错了,仔细检查没有错误之后,便查看了Apache的error_log,得到如下消息:

mysql_connect():

No

such

file

or

directory

在网上查了一下,说是本地socket设置与默认的不一样,导致php无法找到mysql的socket文件。根据网上提供的方法,需要做如下 *** 作。

首先,在MySQL中用status查看数据库状态,如下所示:

mysql

Ver

14.14

Distrib

5.1.69,

for

redhat-Linux-gnu

(x86_64)

using

readline

5.1

Connection

id:

10

Current

database:

Current

user:

root@localhost

SSL:

Not

in

use

Current

pager:

stdout

Using

outfile:

''

Using

delimiter:

Server

version:

5.1.69

Source

distribution

Protocol

version:

10

Connection:

Localhost

via

UNIX

socket

Server

characterset:

latin1

Db

characterset:

latin1

Client

characterset:

latin1

Conn.

characterset:

latin1

UNIX

socket:

/var/lib/mysql/mysql.sock

Uptime:

20

hours

55

min

30

sec

其中,标红的部分是我们需要的。然后打开php.ini文件,需要将mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket的值设置为标红后面的那个目录。重启apache服务器,后续info.php工作正常,MySQL的版本信息能够正常显示了。

应该是数据库连接失败导致的,你可以打开调试模式,然后在连接数据库的时候进行判断,你可以先在成功之后设置一个die,就是停止程序运行,看看浏览器显示500吗?如果不显示,那就是后面的语句有问题,如果显示,那就是mysqli有问题,看看有没有这个驱动,最好是看下php和服务器的日志。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7392554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存