php5.4.45代碼升級到php7.3.4後不支持mysql_xxx的解決方法

比如原來連接數據庫,用的conn.php,代碼爲:

<?php
$dbhost = '127.0.0.1';
$dbuser = 'root';
$dbpass = 'root';
$dataname = "xxxx";
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(!$conn)
{
	die('Could not connect1: ' . mysql_error());
}

mysql_query("create database IF NOT EXISTS ".$dataname." default charset utf8 COLLATE utf8_general_ci");

if(!mysql_select_db($dataname, $conn))
{
	die('Could not connect2: ' . mysql_error());
}

require 'ct.php';//一些建表的Sql函數
?>

升級到PHP7.x後,當然是不行的,因爲php7中去掉了mysql_xxx開頭的函數庫,從而用mysqli_開頭的函數庫代替,解決方法,就是新建一個php文件,比如php7.php,內容如下:

<?php
// *************** PHP7 START ***************  
if(!function_exists('mysql_connect')){
    function mysql_connect($host,$user,$passwd){
        return mysqli_connect($host,$user,$passwd);
    }
 
    function mysql_select_db($dbname,$conn){
        return mysqli_select_db($conn,$dbname);
    }

    function mysql_errno($cxn=null){
        return mysqli_errno($cxn);
    }
 
    function mysql_error($cxn=null){
        return mysqli_error($cxn);
    }
 
    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_insert_id(){
        global $conn;
        return mysqli_insert_id($conn);
    }
 
    function mysql_num_rows($result){
        return mysqli_num_rows($result);
    }
 
    function mysql_query($sql){
        global $conn;
        return mysqli_query($conn,$sql);
    }
 
    function mysql_real_escape_string($data){
        return mysqli_real_escape_string($cxn,$data);
    }
 
    function  mysql_get_server_info($cxn){
        return  mysqli_get_server_info($cxn);
    }
 
    function mysql_ping($cxn){
        return mysqli_ping($cxn);
    }
}
?>

然後在原來的conn.php前面,加一行就搞定了

<?php
require 'php7.php';//加入此行,讓php5.x的代碼,支持php7中的mysqli_xxx系列函數

$dbhost = '127.0.0.1';
$dbuser = 'root';
$dbpass = 'root';
$dataname = "xxxx";
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(!$conn)
{
	die('Could not connect1: ' . mysql_error());
}

mysql_query("create database IF NOT EXISTS ".$dataname." default charset utf8 COLLATE utf8_general_ci");

if(!mysql_select_db($dataname, $conn))
{
	die('Could not connect2: ' . mysql_error());
}

require 'ct.php';//一些建表的Sql函數
?>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章