生物信息学 之 计算表观遗传学分享 http://blog.sciencenet.cn/u/hongbo919 森罗万象是表观, 追根溯源系遗传。 计算精研千淘漉, 生物殿堂乐其间。

博文

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

已有 9438 次阅读 2018-1-8 06:44 |个人分类:科研经验|系统分类:科研笔记| PHP7, Mysql

近期GoDaddy莫名其妙的自动升级了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

解决办法:调换二者的顺序即可。


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


最后,祝各位大侠2018年新年快乐!
更多实用技术请关注我们的“计算表观遗传学”公众号(WeChat ID: intro4gcer)




https://blog.sciencenet.cn/blog-97949-1093619.html

上一篇:基于RNA-seq的重复序列表达定量
下一篇:Linux实用命令
收藏 IP: 72.35.43.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 16:08

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部