Reh*_*hmy 0 php mysql deprecated
最近我的托管更新其PHP版本后,我的网站有错误,这里是错误消息
Deprecated: Function mysql_db_query() is deprecated in /my_path/file.php on line 13
Deprecated: Function mysql_db_query() is deprecated in /my_path/file.php on line 14
Run Code Online (Sandbox Code Playgroud)
这是代码 file.php
require_once("db.php"); // connect
$timeoutseconds = 100;
$timestamp=time();
$timeout=$timestamp-$timeoutseconds;
mysql_db_query($db, "INSERT INTO online VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')") or die("0 Users online"); // this is line 13 that shows error
mysql_db_query($db, "DELETE FROM online WHERE timestamp<$timeout") or die("0 Users online"); // this is line 14 that shows error
Run Code Online (Sandbox Code Playgroud)
有没有解释这个错误,如何解决它?〜谢谢
注意:我知道mysqli并且pdo不能转移到任何,因为我的网站主要依赖mysql并且需要几个月才能做出重大改变,所以请你坚持mysql.
是的,这些mysql函数已在PHP 5.5中弃用.
你不能"修复"这个 - 事情就是这样.
你的选择是:
降级回到PHP 5.4.
鉴于您的webhost进行了升级,这听起来不是一个选项.
做这个工作吧.
老实说,从mysql_功能切换到功能并不是什么大不了的事mysqli_.API非常相似; 主要区别在于i函数需要传递连接变量.但这不是一个不可逾越的问题.转换到mysqli实际上非常简单,如果你把它放在心上.它肯定不会需要几个月(除非你的代码真的是一个灾区,任何小的改变需要几个月).
忽略警告.
他们只是警告; 你的程序将继续运行,所以只需设置PHP的错误处理来忽略弃用警告,它们就会消失.但是,不要以为这可以让你摆脱困境 - 当你的webhost下次升级并且功能已经从语言中完全删除时,它将更难修复,而且更加紧急.说真的,现在就做好工作:你以后会为自己节省一大堆痛苦.