日期:2014-05-16  浏览次数:20728 次

PHP操作Mysql(CRUD)增、删、改、查类
<?php

/**
 * 数据库操作基类
 * @author yanli_xu@163.com
 *
 */
class DB {
	
	/**
	 * 执行插入操作的方法
	 * @param $table : 表名
	 * @param $values : 数组数据
	 */
	function insert($table, $values) {
		$sql = "INSERT INTO {$table}";
		$keysql = '';
		$valuesql = '';
		foreach ( $values as $k => $v ) {
			$keysql .= "{$k},";
			if (preg_match ( "/^[0-9]+$/", $v )) {
				$valuesql .= "{$v},";
			} else {
				$valuesql .= "'{$v}',";
			}
		}
		$sql = $sql . '(' . substr ( $keysql, 0, - 1 ) . ')VALUES(' . substr ( $valuesql, 0, - 1 ) . ')';
		return $this->query ( $sql );
	}
	
	/**
	 * 执行删除操作的方法
	 * @param $table : 表名
	 * @param $where : 删除条件
	 */
	function delete($table, $where = '') {
		$sql = "DELETE FROM {$table}";
		if ($where != '')
			$sql .= " WHERE {$where}";
		return $this->query ( $sql );
	}
	
	/**
	 * 执行更新操作的方法
	 * @param $table : 表名
	 * @param $values : 数组数据
	 * @param $where : 更新条件
	 */
	function update($table, $values, $where) {
		$sql = "UPDATE {$table} SET ";
		foreach ( $values as $k => $v ) {
			if (preg_match ( "/^[0-9]+$/", $v )) {
				$sql .= "$k={$v},";
			} else {
				$sql .= "$k='{$v}',";
			}
		}
		$sql = substr ( $sql, 0, - 1 );
		$sql .= " WHERE {$where}";
		return $this->query ( $sql );
	}
	
	/**
	 * 执行查询操作
	 * @param $what : 查询字段
	 * @param $table : 目的表
	 * @param $where : 查询条件
	 * @param $orderby : 查询排序
	 * @param $limit : 查询数量
	 */
	function select($what, $table, $where = '', $orderby = '', $limit = '') {
		$sql = "SELECT {$what} FROM {$table}";
		if ($where != '')
			$sql .= " WHERE {$where}";
		if ($orderby != '')
			$sql .= " ORDER BY {$orderby}";
		if ($limit != '')
			$sql .= " LIMIT {$limit}";
		return $this->fetch_array ( $this->query ( $sql ) );
	}
	
	function query($sql) {
		$this->_query ( $sql );
	}
	
	function fetch_array() {
		return $this->_fetch_array ();
	}
	
	function num_rows() {
		return $this->_num_rows ();
	}
	
	function close() {
		$this->_close ();
	}

}

?>?

?

<?php

class Mysql extends DB {
	
	var $link_id;
	var $result;
	
	function Mysql() {
		$conn = mysql_connect ( SERVER, USERNAME, PASSWORD ) or die ( "连接失败" );
		mysql_select_db ( DATABASE_NAME, $conn );
		mysql_query ( "SET NAMES 'gbk'", $conn );
		$this->link_id = $conn;
	}
	
	function query($sql) {
		return $this->result = mysql_query ( $sql, $this->link_id );
	}
	
	function _fetch_array() {
		$data = array ();
		while ( $row = mysql_fetch_array ( $this->result ) ) {
			array_push ( $data, $row );
		}
		$this->close ();
		return $data;
	}
	
	function _num_rows() {
		return mysql_num_rows ( $this->result );
	}
	
	function _close() {
		//mysql_free_result ( $this->result );
		//mysql_close ( $this->link_id );
	}

}

?>

?