Loading... # [MySql类](https://blog.p2hp.com/archives/901) <?php /** *mysql数据库类 * leninx 2013.5 */ class DbMysql { public $link; public $result; function __construct() { } /* *连接数据库 */ public function connect($dbname,$dbpassword,$dbdatabase,$dbhost='localhost',$dbcharset='UTF8') { if(!$this->link) { $this->link = mysql_connect($dbhost, $dbname, $dbpassword) or die(mysql_error()); $dbVersion = mysql_get_server_info($this->link); //设置字符集 mysql_set_charset($dbcharset,$this->link) or die("can not set charset"); if($dbVersion >'5.0.1'){ mysql_query("SET sql_mode=''",$this->link); mysql_query("SET character_set_connection=".$dbcharset.", character_set_results=".$dbcharset.", character_set_client=binary", $this->link); //为了防止采集等需要较长运行时间的程序超时,在运行这类程序时设置系统等待和交互时间 // @mysql_query("SET interactive_timeout=3600, wait_timeout=3600 ;",$link); } mysql_select_db($dbdatabase, $this->link) or die("can not select datebase"); } return $this->link; } /* *执行查询 */ public function query($sql) { if(!$this->link ) return false; if($this->result) { $this->free(); } if($this->result = mysql_query($sql, $this->link)) { return $this->result; //return $this; }else{ return false; } } /* *执行查询2 */ public function queryd($sql) { return mysql_query($sql,$this->link); } /* * 执行写入语句 */ public function execute($sql) { if(!$this->link ) return false; if($this->result) { $this->free(); } $result = mysql_query($sql, $this->link); if($result == false) { trigger_error('MySQL execute error: ' . mysql_error() . ' ['.$sql.']'); } } /* *取得所有数据 */ public function fetchAll($result_type = MYSQL_ASSOC) { $data = null; //$query = $this->query($sql); while($row = mysql_fetch_array($this->result, $result_type)){ $data[] = $row; } mysql_data_seek($this->result, 0);// 移动内部结果的指针从0行开始。 //mysql_free_result($result); return $data; } /* * 取得一行数据 */ public function fetchArray($type=MYSQL_ASSOC) { return mysql_fetch_array($this->result,$type); } /* *取得一行另一种用法,在递归时用等 */ public function fetchRow($result,$type=MYSQL_ASSOC) { return mysql_fetch_array($result,$type); } /* *对象形式取得一行数据 */ public function fetchObject() { return mysql_fetch_object($this->result); } /* *返回记录行数 */ public function numRows() { return mysql_num_rows($this->result); } /* *上一次操作的影响数 */ public function affectedRows() { return mysql_affected_rows($this->link); } /* * 取得最后一次插入记录的ID值 * @return int 返回最后一次插入记录的ID值 */ public function insertId() { return ($id = mysql_insert_id($this->link)) >= 0 ? $id : mysql_result($this->query("SELECT last_insert_id()"), 0); } /* *获取错误信息 */ public function error() { return (($this->link) ? mysql_error($this->link) : mysql_error()); } /* *获取错误代码 */ public function errno() { return intval(($this->link) ? mysql_errno($this->link) : mysql_errno()); } /* *释放结果集 */ public function free() { mysql_free_result($this->result); } /* *转义字符 */ public function escape($str) { return mysql_real_escape_string($str,$this->link); } /* *关闭数据库连接 */ public function close() { return @mysql_close($this->link); } /* *析构 */ function __destruct() { $this->free(); $this->close(); } } ?> 最后修改:2023 年 08 月 07 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏