Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in

adb0314 发布于 2014/05/13 15:09
阅读 1K+
收藏 0
源代码如下:
<?php
if (__FILE__ == $_SERVER['SCRIPT_FILENAME']) exit('No direct access allowed.');

/*
 *作者:丁亮
 *日期:2014年05月06日
 *版本:V0.0.1
 *版权归属:中国科学技术大学 西区
 */

class MySQLDatabase {

private $connection;
public $last_query;
private $magic_quotes_active;
private $real_escape_string_exists;

    function __construct() {
     $this->open_connection();
$this->magic_quotes_active = get_magic_quotes_gpc();
$this->real_escape_string_exists = function_exists( "mysql_real_escape_string" );
    }

public function open_connection() {
$this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
mysql_query('SET NAMES utf8', $this->connection);
if (!$this->connection) {
die("Database connection failed: " . mysql_error());
} else {
$db_select = mysql_select_db(DB_NAME, $this->connection);
if (!$db_select) {
die("Database selection failed: " . mysql_error());
}
}
}
 

public function close_connection() {
if(isset($this->connection)) {
mysql_close($this->connection);
unset($this->connection);
}
}

public function query($sql) {
$this->last_query = $sql;
$result = mysql_query($sql, $this->connection);
$this->confirm_query($result);
return $result;
}

public function escape_value( $value ) {
if( $this->real_escape_string_exists ) { // PHP v4.3.0 or higher
// undo any magic quote effects so mysql_real_escape_string can do the work
if( $this->magic_quotes_active ) { $value = stripslashes( $value ); }
$value = mysql_real_escape_string( $value );
} else { // before PHP v4.3.0
// if magic quotes aren't already on then add slashes manually
if( !$this->magic_quotes_active ) { $value = addslashes( $value ); }
// if magic quotes are active, then the slashes already exist
}
return $value;
}

// "database-neutral" methods
   public function fetch_array($result_set) {
    return mysql_fetch_array($result_set);
   }

   public function num_rows($result_set) {
    return mysql_num_rows($result_set);
   }
  
   public function insert_id() {
    // get the last id inserted over the current db connection
    return mysql_insert_id($this->connection);
   }
  
   public function affected_rows() {
    return mysql_affected_rows($this->connection);
   }

private function confirm_query($result) {
if (!$result) {
    $output = "Database query failed: " . mysql_error() . "<br /><br />";
    $output .= "Last SQL query: " . $this->last_query;
    die( $output );
}
}

}

$database = new MySQLDatabase();
$db =& $database;


请教PHP高手,如何用mysqli或者PDO方法改写,请发邮件给我:adb0314@gmail.com  不胜感谢!!!!
加载中
返回顶部
顶部