51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

wordpress网站升级php版本后,mysql相关函数报错问题解决

热帖最近新域名https://www.itylq.com备案通过了,想把原网站https://leicong.net上的内容迁移过来。文章、页面和插件什么还算顺利,在复制页脚统计访客IP地址和访客数量的代码时出现了各种报错。

原网站的运行环境是PHP5.6,新网站升级到PHP7+了。发现PHP7版本以后mysql函数变化不少。主要如下:

一、php5版本对应的mysql_connect()、mysql_query()、mysql_select_db()、mysql_errno()、mysql_fetch_row()和mysql_close()等mysql数据库操作相关的函数,在php7版本已经被弃用了,统一在"mysql"字符串后面加了个"i",变成了mysqli_connect()、mysqli_query()、mysqli_select_db()、mysqli_errno()、mysqli_fetch_row()和mysqli_close()等;

二、函数中的变量参数位置发生了变化:比如php5版本中的mysql_query(),函数参数是mysql_query("SET NAMES 'utf8′",$conn),变量在后;而PHP7版本中mysql函数的变量参数都是放在最前面,如mysqli_query($conn,"SET NAMES 'utf8′")。

备注:PHP7版本中mysql相关函数除了名称"mysql"加上"i"变成"mysqli_XX"之外,变量参数一定要放到第一个参数位置上,不然会出现告警信息,函数执行结果也达不到预期效果:

Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in

wordpress网站升级php版本后,mysql相关函数报错问题解决

P1.PHP5与PHP7版本中mysql函数对比

以下是实际应用中copy PHP5版本的mysql函数到PHP7环境中报错的具体信息:

1、mysql_query()函数错误:

PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in ./itylq.com/wp-content/themes/puock/footer.php:621

修复:mysql_query("SET NAMES 'utf8′",$conn)修改为mysqli_query($conn,"SET NAMES 'utf8′")

2、mysql_connect()函数错误:

PHP Fatal error:Uncaught Error: Call to undefined function mysql_connect()

修复:mysql_connect()修改为mysqli_connect()即可,函数参数保持不变

3、mysql_select_db()、mysql_errno()、mysql_fetch_row()函数报类似错误提示,修改函数名称并将变量参数放置到第一个参数位置即可。

4、mysql_close()函数告警:

Warning: mysqli_close() expects exactly 1 parameter, 0 given in

修复:这个函数和上述其他函数有点不一样。PHP5版本中,mysql_close()函数是不需要带参数的;PHP7版本中,需要将数据库连接变量放置到函数中,如mysqli_close($conn)。

好了,以上就是在wordpress等网站升级或迁移过程中,如果因为PHP版本不一致,出现mysql相关函数报错的解决办法啦。

赞(1)
未经允许不得转载:工具盒子 » wordpress网站升级php版本后,mysql相关函数报错问题解决