当前位置:主页 > >

PHP7兼容mysql_connect的方法

时间:2020-03-17 09:43:58 | 栏目: | 点击:

前言

PHP7不再兼容mysql系列函数,入mysql_connect等操作,强行操作报错:Uncaught Error: Call to undefined function mysql_connect(),所以我们要采用mysqli系列的操作mysql方式,让PHP7兼容mysql_connect操作有两种方式,一种是安装mysql扩展,另一种是在代码层定义mysql_connect等函数,来兼容原来的操作,当然,这种操作只是自己定义了函数,内部操作还是mysqli系列的。

兼容代码

将下面的代码放在入口文件引入即可:
$dbhost = DATA_HOST;
$dbport = 3306;
$dbuser = DATA_USERNAME;
$dbpass = DATA_PASSWORD;
$dbname = DATA_NAME;
if(!function_exists('mysql_connect')){
    function mysql_connect($dbhost, $dbuser, $dbpass){
        global $dbport;
        global $dbname;
        global $mysqli;
        $mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);
        return $mysqli;
        }
    function mysql_select_db($dbname){
        global $mysqli;
        return mysqli_select_db($mysqli,$dbname);
        }
    function mysql_fetch_array($result){
        return mysqli_fetch_array($result);
        }
    function mysql_fetch_assoc($result){
        return mysqli_fetch_assoc($result);
        }
    function mysql_fetch_row($result){
        return mysqli_fetch_row($result);
        }
    function mysql_query($query){
        global $mysqli;
        return mysqli_query($mysqli,$query);
        }
    function mysql_escape_string($data){
        global $mysqli;
        return mysqli_real_escape_string($mysqli, $data);
        }
    function mysql_real_escape_string($data){
        return mysql_real_escape_string($data);
        }
    function mysql_close(){
        global $mysqli;
        return mysqli_close($mysqli);
        }
}
上面的代码摘自Discuz X3.2 对 PHP7 的兼容性处理,原理还是很简单的。

您可能感兴趣的文章:

相关文章