PHP7兼容mysql_connect函数的方法 图文教程

php从7.0开始移除了mysql_connect这个函数

Warning

This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide. Alternatives to this function include:

  • mysqli_connect()
  • PDO::__construct()

那么我们以前的老程序如何兼容,这里我们提供一个思路。

//$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_set_charset($character)
    {
        global $mysqli;
        return mysqli_query($mysqli, "set names {$character}");
    }
    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);
        }
    function mysql_error(){
		global $mysqli;
		return mysqli_connect_error();
	}
    function mysql_num_rows($data){
		global $mysqli;
		return mysqli_num_rows($data);
	}
    function mysql_affected_rows(){
		global $mysqli;
		return mysqli_affected_rows($mysqli);
	}
}

仅供参考,小伙伴们根据自己实际情况修改。

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注