PHP7 升级后Mysql报错的解决方案

竹清松瘦 目录 工作笔记
0

近期检查服务器漏洞
然后把php5.6升级到了PHP版本(5.*>7.*),导致Mysql数据库无法连接,这一错误的根源在于原有网页采用了mysql_connect,而PHP7将不再支持该模块,因此需要将网页中的mysql_connect更新为MySQLi或者PDO_MySQL,详情参考:http://php.net/manual/en/function.mysql-connect.php

解决办法:将原代码中的”mysql_”批量替换为”mysqli_”。

然而并没有解决问题,仍数据库不可用的错误。这一错误的原因是 “mysql_connect” 和 “mysqli_connect” 的数据库链接函数中参数的数量导致的。简单来讲,mysqli将数据库名作为第四个参数,而mysql

$link = mysql_connect(‘localhost’, ‘mysql_user’, ‘mysql_password’);

$link = mysqli_connect(‘localhost’, ‘mysql_user’, ‘mysql_password’, ‘my_db’);

详情请参看:http://php.net/manual/en/function.mysql-connect.php和http://php.net/manual/en/function.mysqli-connect.php。

解决办法:要链接的数据库名作为第四个参数添加到mysqli_connect函数中,同时删除原有的mysql_select_db函数。

刷新页面发现数据库链接问题解决,然而数据库仍无法执行查询,这一错误的原因是 “mysql_query” 和 “mysqli_query” 中数据库链接和查询语句的顺序导致的。

$result = mysqli_query(“SELECT Name FROM City LIMIT 10”, $link) 错误方法

$result = mysqli_query($link, “SELECT Name FROM City LIMIT 10”) 正确方法

详情参考:http://php.net/manual/en/function.mysql-query.php 和 http://php.net/manual/en/mysqli.query.php

刷新页面后,网页可以正常连接数据库并执行查询,希望以上经验有助于有相同问题的同行。

« 上一篇: :下一篇 »

发表评论