conn = mysqli_connect($dbhost, $dbuser, $dbpw, $dbname, $dbport, true); // !$this->conn && $this->halt("Connect to MySQL failed"); // $serverinfo = mysqli_get_server_info($this->conn); // if ($serverinfo > '4.1' && $GLOBALS['charset']) { // mysqli_query($this->conn, "SET character_set_connection=" . $GLOBALS['charset'] . ",character_set_results=" . $GLOBALS['charset'] . ",character_set_client=binary"); // } // if ($serverinfo > '5.0') { // mysqli_query($this->conn, "SET sql_mode=''"); // } // if ($dbname && !mysqli_select_db($this->conn, $dbname)) { // $this->halt('Cannot use database'); // } // } // // /** // * 切换db // * @param type $dbname // */ // public function select_db($dbname) { // if (!mysqli_select_db($this->conn, $dbname)) { // $this->halt('Cannot use database'); // } // } // // /** // * 调取服务器信息 // * @return type // */ // public function server_info() { // return mysqli_get_server_info($this->conn); // } // // /** // * 最后一次执行insert时插入的第一行记录Id,(如果一次插入3条记录,则得到第一条的记录) // * 所以,这个如何用要慎重(gwang) // * @return type // */ // public function insert_id() { // $arr = $this->fetch_array('SELECT LAST_INSERT_ID() as id'); // return $arr["id"]; // } // // /** // * 直接取查询结果的某行某列的数值 // * @param type $SQL // * @param type $offset // * @param type $field // * @return boolean // */ // public function get_value($SQL, $offset = 0, $field = 0) { // $rt = $this->fetch_result($SQL); // if (isset($rt[$offset][$field])) { // return $rt[$offset][$field]; // } // return false; // } // // /** // * 执行查询 // * @param type $SQL // * @param type $method // * @param type $error // * @return mixed // */ // public function query($SQL, $method = null, $error = true) { // $query = mysqli_query($this->conn, $SQL); // !$query && $error && $this->halt('Query Error: ' . $SQL); // return $query; // } // // /** // * 执行更新的时候加上事物逻辑 // * @param type $SQL // * @return int errno // */ // public function safeQuery($SQL) { // mysqli_query($this->conn, 'start transaction'); // mysqli_query($this->conn, 'SET autocommit=0'); // $query = mysqli_query($this->conn, $SQL); // $err = mysqli_errno($this->conn); // if ($err && !$query) { // mysqli_query($this->conn, 'rollback'); // } else { // mysqli_query($this->conn, 'commit'); // } // mysqli_query($this->conn, 'SET autocommit=1'); // return $err; // } // // /** // * 将查询结果作为索引数组返回 // * @param string $SQL // * @return array // */ // public function fetch_row($SQL) { // return $this->fetch_result($SQL, MYSQLI_NUM); // } // // /** // * 将查询结果作为关联数组返回 // * @param string $SQL // * @return array // */ // public function fetch_array($SQL) { // return $this->fetch_result($SQL, MYSQLI_ASSOC); // } // // /** // * 从结果中取一行作为结果返回 // * @param string $SQL // * @param int $result_type 1. 关联数组, 2. 索引数组, 3 both // * @return type // */ // public function fetch_result($SQL, $result_type = MYSQLI_BOTH) { // $arr = array(); // $query = $this->query($SQL); // $data = mysqli_fetch_array($query, $result_type); // while ($data) { // $arr[] = $data; // $data = mysqli_fetch_array($query, $result_type); // } // $this->free_result(); // return $arr; // } // // /** // * 调取查询影响的行数 // * @return type // */ // public function affected_rows() { // return mysqli_affected_rows($this->conn); // } // // /** // * 调取结果集中行的数目 // * @param type $SQL // * @return int // */ // public function num_rows($SQL) { // $query = $this->query($SQL); // if (!is_bool($query)) { // return mysqli_num_rows($query); // } // return 0; // } // // /** // * 调取结果集中字段数量 // * @param type $SQL // * @return type // */ // public function num_fields($SQL) { // $query = $this->query($SQL); // return mysqli_num_fields($query); // } // // /** // * 封装SQL字符串中特殊字符,以免SQL语句执行失败. // * @param type $str 带有风险字符的SQL语句或者字符串 // * @return type 处理后的字符串 // */ // public function escape_string($str) { // return mysqli_real_escape_string($this->conn, $str); // } // // /** // * 释放SQL查询结果 // */ // public function free_result() { // $void = func_get_args(); // foreach ($void as $query) { // if (is_resource($query) && get_resource_type($query) === 'mysql result') { // mysqli_free_result($query); // } // } // unset($void); // } // // /** // * 关闭当前实例的连接 // * @return type // */ // public function close() { // $this->free_result(); // return mysqli_close($this->conn); // } // // /** // * 直接报错退出 // * @param type $msg // */ // public function halt($msg = null) { // exit($msg . '

' . mysqli_error($this->conn)); // } // //}