• 人民网驻阿尔及利亚记者报道集 2018-02-19
  • 党务问答:党组与党委有何区别? 2018-02-19
  • MINI车联网服务3月起升级至4G网络 增加新功能 2018-02-18
  • 以色列警方:已有足够的证据可以用于起诉以总理 2018-02-18
  • 冬奥会短节目第四 金博洋:伤病令我更强大 2018-02-18
  • 天津市北辰区委书记冯卫华:强化政治担当 把主体责任落实落细 2018-02-17
  • 正月初一客流继续回落 全国铁路预计发送旅客389万人次 2018-02-17
  • 送别余光中:诗人虽远行,乡愁永流传 2018-02-17
  • 集团原董事长违纪被查 人员伤亡事故频发 湖北宜化:去年亏损额超过公司市值 2018-02-17
  • 图片故事:“六个人”的火车站 2018-02-16
  • 【马来西亚房产】雅诗阁之星十年包租可续租! ——凤凰网房产马来西亚 2018-02-16
  • 大量顺差在中国,多数利润归美国 2018-02-16
  • 河北今年将削减煤炭消费500万吨 2018-02-16
  • 开创生态文明新时代 绘出美丽中国新图景 2018-02-15
  • 以色列警方:已有足够的证据可以用于起诉以总理 2018-02-15
  • 一个php数据库操作类

    栏目: PHP 发布于: 2013-08-24 01:33:26

    一个php数据库操作类,可以满足基本的数据库操作。

    代码:

    class db
    {
    	private static $_instance = null;
    	private $_db;
    
    	private function __construct($host, $userName, $password, $databaseName)
    	{
    		try
    		{
    			$this->_db = mysql_connect($host, $userName, $password);
    			if(!$this->_db)
    			{
    				throw new Exception("Could not connect mysql!");
    				exit;
    			}
    			mysql_select_db($databaseName, $this->_db);
    			mysql_query('SET NAMES UTF8');
    		}
    		catch(Exception $e)
    		{
    			echo $e->getMessage();
    		}
    	}
    
    	private function __clone()
    	{
    
    	}
    
    	public function get_instance($host, $userName, $password, $databaseName)
    	{
    		if(!(self::$_instance instanceof self))
    		{
    			self::$_instance = new self($host, $userName, $password, $databaseName);
    		}
    
    		return self::$_instance;
    	}
    
    	/**
    	 * @param $sql
    	 * @return array
    	 */
    	public function query($sql)
    	{
    		$query = mysql_query($sql, $this->_db);
    
    		if(preg_match('/select/i', $sql))
    		{
    			$tmp = array();
    			while($row = mysql_fetch_assoc($query))
    			{
    				$tmp[] = $row;
    			}
    
    			return $tmp;
    		}
    
    		return mysql_affected_rows();
    	}
    
    	/**
    	 * @param string $fields
    	 * @param string $condition
    	 * @param        $tableName
    	 * @param string $order
    	 * @param string $limit
    	 * @return array
    	 */
    	public function select($fields = '*', $condition = '1=1', $tableName, $order = 'id desc', $limit = '')
    	{
    		$sql = "SELECT {$fields} FROM {$tableName} WHERE {$condition} ORDER BY {$order} {$limit}";
    
    		$query = mysql_query($sql, $this->_db);
    
    		$tmp = array();
    		while($row = mysql_fetch_assoc($query))
    		{
    			$tmp[] = $row;
    		}
    
    		return $tmp;
    	}
    
    	/**
    	 * @param $data            array
    	 * @param $tableName       string
    	 * @return int
    	 */
    	public function insert($data, $tableName)
    	{
    		$table_key   = array();
    		$table_value = array();
    		foreach($data as $key => $value)
    		{
    			$table_key[]   = $key;
    			$table_value[] = "'{$value}'";
    		}
    
    		$table_key_string   = implode(',', $table_key);
    		$table_value_string = implode(',', $table_value);
    
    		$sql = "INSERT INTO `{$tableName}`({$table_key_string}) VALUES({$table_value_string})";
    
    		mysql_query($sql, $this->_db);
    
    		return mysql_affected_rows();
    
    	}
    
    	/**
    	 * @param $data         array
    	 * @param $condition    string
    	 * @param $tableName    string
    	 * @return int
    	 */
    	public function update($data, $condition, $tableName)
    	{
    		$tmp = '';
    		$num = count($data);
    		$i   = 1;
    		foreach($data as $key => $value)
    		{
    			$tmp .= "{$key}='{$value}'";
    			if($i != $num)
    			{
    				$tmp .= ',';
    			}
    			$i++;
    		}
    
    		$sql = "UPDATE `{$tableName}` SET {$tmp} WHERE {$condition}";
    
    		mysql_query($sql, $this->_db);
    
    		return mysql_affected_rows();
    	}
    
    	/**
    	 * @param $condition    string
    	 * @param $tableName    string
    	 * @return int
    	 */
    	public function delete($condition, $tableName)
    	{
    		$sql = "DELETE FROM `{$tableName}` WHERE {$condition}";
    
    		mysql_query($sql, $this->_db);
    
    		return mysql_affected_rows();
    	}
    
    	public function close()
    	{
    		mysql_close($this->_db);
    	}
    }
    使用示例:

    1、链接数据库:

    $host         = 'localhost';
    $userName     = 'root';
    $password     = '123456';
    $databaseName = 'test';
    $db           = db::get_instance($host, $userName, $password, $databaseName);
    2、简单SQL查询:

    $sql = "SELECT * FROM `test`";
    $result = $db->query($sql);
    对于 select 返回数据接口集;对于insert、update、delete返回影响行数。

    3、数据查询:

    $result = $db->select('name', 'id>2', 'test');

    返回数据结果集。

    4、数据插入:

    $data         = array();
    $data['name'] = 'zhangSan';
    $data['age']  = 30;
    $result       = $db->insert($data, 'test');
    返回影响行数。

    5、数据更新:

    $data         = array();
    $data['name'] = 'zhangSan';
    $data['age']  = 30;
    $result       = $db->update($data, 'id=3', 'test');
    返回影响行数。

    6、数据删除:

    $result       = $db->delete('id=5', 'test');
    返回影响行数。


    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:一个php数据库操作类
    IT技术书籍推荐:
    GitHub入门与实践
    GitHub入门与实践
    大塚弘记 (作者), 支鹏浩 (译者), 刘斌 (译者)
    《GitHub入门与实践》从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。在讲解GitHub的代表功能Pull Request时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request并共同维护。 《GitHub入门与实践》旨在指导各位读者如何在开发现场使用GitHub进行高效开发,适合所有想要使用GitHub进行开发的程序员或团队阅读。