mysql的错误处理是静默模式的,就是不提示错误.但是可以使用mysql_error()和mysql_errno()两个函数来获得错误信息和错误代码.
站在用户的角度思考问题,与客户深入沟通,找到胶州网站设计与胶州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册、网站空间、企业邮箱。业务覆盖胶州地区。
操作的时候可以判断语句执行的结果,如果返回值是false就调用这两个函数取得错误提示.
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的版本信息能够正常显示了。
看了你下面的内容。是因为你数据库的密码错误.所以导致没有访问权限。你可以去看一看配置文件里面是不是有设置密码的选项。(配置文件通常是config之类的)
第二条是查询错误,因为没有连接到数据库,所以无法查询
第三条是因为第二条没有查询,所以无法获取数据