info.php在CentOS
十多年的鄂尔多斯网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整鄂尔多斯建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“鄂尔多斯网站设计”,“鄂尔多斯网站推广”以来,每个客户项目都认真落实执行。
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的版本信息能够正常显示了。
$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:光从代码上没看出错误,有可能数据库里的字段名你写错了
之前我刚遇到过这类问题。
使用php链接mssql出错,但是代码没有问题,本机测试正常,上传到服务器又不行。
如果是这种情况,请参照下面的步骤。
1、运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols
,允许命名管道 "named pipes" 和 "tcp/ip" ,右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses" ,在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433 (其实只要填0就表示开启了动态端口)
2、下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: ,覆盖 php\ntwdblib.dll (mssql2005,mssql2008等等对应的ntwdblib.dll文件版本不同,请参照自己的mssql版本下载对应文件。)
3、php.ini有个mssql的设置 mssql.secure_connection 改成 off。(我就因为这个弄了好久,ON的意思是使用安全连接,实际上是使用nt账户登录,并非使用mssql账户登录。一般我们远程连接都是使用mssql账户登录)
$MysqlCurd-dql($sql);
$res=0;
$num=mysql_num_rows($res);
这三行的问题。。。
你可以这样试试
$res= $MysqlCurd-dql($sql);
$num=mysql_num_rows($res);
500基本上都是程序的问题 你可以
$dbc=mysqli_connect('IP地址','数据库用户名','数据库密码','数据库名称')or die('Error connecting to mysql server.');
或者打开IIS报错
点击错误页
php5.6以后已经弃用了mysql_函数,估计你是版本太高了,高于5.6版本的可以用mysqli_函数,具体写法请查阅PHP文档