• “澳门368足球博彩公司”足球比分及时直播李国英主持召开省深化医药卫生体制改革领导小组会议 2018-05-23
  • 马来大选92岁前总理改写政治版图 60年来政党首轮替 2018-05-23
  • 科技创新技能挑战赛聚焦冬奥主题 2018-05-23
  • 泰国试管婴儿bnh医院技术怎么样,是最好的吗?—海口论坛 2018-05-23
  • 置业指南:买高层要注意这些问题 2018-05-22
  • い羛琩矪堵旧笴眏い瓣笴潦ㄆン 2018-05-22
  • 有力有序有效防范化解煤电产能过剩风险 2018-05-22
  • 美好生活的价值追求和实现路径-社会关注-理论频道-中工网 2018-05-21
  • 保罗亲手为自己圆梦 火箭勇士双双会师西部决赛 2018-05-21
  • Floating production, storage and offloading vessel delivered in Qingdao 2018-05-20
  • 汽車定位跟蹤官員意圖敲詐 追蹤器該怎麼管 2018-05-20
  • 工作队精准发力助力贫困村“摘帽” 2018-05-20
  • 中消协发布榨汁机比较试验结果 2018-05-20
  • 游花海林芝,赏野生桃花 2018林芝桃花节29日开幕 2018-05-20
  • 19米99轻松卫冕 巩立姣:没突破20米有点可惜 2018-05-18
  • 一个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进行开发的程序员或团队阅读。