From 98570ec9f6ba6884fa0e164c8b8a3ed06d22ce97 Mon Sep 17 00:00:00 2001 From: LyLme Date: Sat, 12 Mar 2022 15:22:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E7=B1=BB=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/db.class.php | 191 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 include/db.class.php diff --git a/include/db.class.php b/include/db.class.php new file mode 100644 index 0000000..c9b7095 --- /dev/null +++ b/include/db.class.php @@ -0,0 +1,191 @@ +link = new PDO('sqlite:'.ROOT.'includes/sqlite/'.$db_file.'.db'); + if (!$this->link) die('Connection Sqlite failed.\n'); + return true; + } + + function fetch($q){ + return $q->fetch(); + } + function get_row($q){ + $sth = $this->link->query($q); + return $sth->fetch(); + } + function count($q){ + $sth = $this->link->query($q); + return $sth->fetchColumn(); + } + function query($q){ + return $this->result=$this->link->query($q); + } + function affected(){ + return $this->result->rowCount(); + } + function error(){ + $error = $this->link->errorInfo(); + return '['.$error[1].'] '.$error[2]; + } + } +} +elseif(extension_loaded('mysqli') && $nomysqli==false) { + class DB { + var $link = null; + + function __construct($db_host,$db_user,$db_pass,$db_name,$db_port){ + + $this->link = mysqli_connect($db_host, $db_user, $db_pass, $db_name, $db_port); + + if (!$this->link) die('Connect Error (' . mysqli_connect_errno() . ') '.mysqli_connect_error()); + + //mysqli_select_db($this->link, $db_name) or die(mysqli_error($this->link)); + + +mysqli_query($this->link,"set sql_mode = ''"); + //字符转换,读库 +mysqli_query($this->link,"set character set 'utf8'"); +//写库 +mysqli_query($this->link,"set names 'utf8'"); + + return true; + } + function fetch($q){ + return mysqli_fetch_assoc($q); + } + function num_rows($result){ + return mysqli_num_rows($result); + } + function get_row($q){ + $result = mysqli_query($this->link,$q); + return mysqli_fetch_assoc($result); + } + function get_column($q){ + $result = mysqli_query($this->link,$q); + $row = mysqli_fetch_array($result); + return $row[0]; + } + function count($q){ + $result = mysqli_query($this->link,$q); + $count = mysqli_fetch_array($result); + return $count[0]; + } + function query($q){ + return mysqli_query($this->link,$q); + } + function escape($str){ + return mysqli_real_escape_string($this->link,$str); + } + function insert($q){ + if(mysqli_query($this->link,$q)) + return mysqli_insert_id($this->link); + return false; + } + function affected(){ + return mysqli_affected_rows($this->link); + } + function insert_array($table,$array){ + $q = "INSERT INTO `$table`"; + $q .=" (`".implode("`,`",array_keys($array))."`) "; + $q .=" VALUES ('".implode("','",array_values($array))."') "; + + if(mysqli_query($this->link,$q)) + return mysqli_insert_id($this->link); + return false; + } + function error(){ + $error = mysqli_error($this->link); + $errno = mysqli_errno($this->link); + return '['.$errno.'] '.$error; + } + function close(){ + $q = mysqli_close($this->link); + return $q; + } + } +} else { // we use the old mysql + class DB { + var $link = null; + + function __construct($db_host,$db_user,$db_pass,$db_name,$db_port){ + + $this->link = @mysql_connect($db_host.':'.$db_port, $db_user, $db_pass); + + if (!$this->link) die('Connect Error (' . mysql_errno() . ') '.mysql_error()); + + mysql_select_db($db_name, $this->link) or die(mysql_error($this->link)); + +mysql_query("set sql_mode = ''"); +//字符转换,读库 +mysql_query("set character set 'utf8'"); +//写库 +mysql_query("set names 'utf8'"); + + + return true; + } + function fetch($q){ + return mysql_fetch_assoc($q); + } + function num_rows($result){ + return mysql_num_rows($result); + } + function get_row($q){ + $result = mysql_query($q, $this->link); + return mysql_fetch_assoc($result); + } + function get_column($q){ + $result = mysql_query($q, $this->link); + $row = mysql_fetch_array($result); + return $row[0]; + } + function count($q){ + $result = mysql_query($q, $this->link); + $count = mysql_fetch_array($result); + return $count[0]; + } + function query($q){ + return mysql_query($q, $this->link); + } + function escape($str){ + return mysql_real_escape_string($str, $this->link); + } + function affected(){ + return mysql_affected_rows($this->link); + } + function insert($q){ + if(mysql_query($q, $this->link)) + return mysql_insert_id($this->link); + return false; + } + function insert_array($table,$array){ + $q = "INSERT INTO `$table`"; + $q .=" (`".implode("`,`",array_keys($array))."`) "; + $q .=" VALUES ('".implode("','",array_values($array))."') "; + + if(mysql_query($q, $this->link)) + return mysql_insert_id($this->link); + return false; + } + function error(){ + $error = mysql_error($this->link); + $errno = mysql_errno($this->link); + return '['.$errno.'] '.$error; + } + function close(){ + $q = mysql_close($this->link); + return $q; + } + } + +} +?> \ No newline at end of file