• 迎丰收 晒丰收 庆丰收 2018-10-15
  • “捂脸表情”被注册成商标?申请人不认为商标侵权 2018-10-15
  • 战巡南海、绕岛巡航…空军有“飞出去”的主心骨 2018-10-14
  • 幼儿园要求家长写一万字读后感:不能这样玩家长|幼儿园|家长-教育时讯 2018-10-13
  • 中国故宫文物展在希腊举行 2018-10-13
  • 車·晓 第26期 車企官方降价真相幾何? 2018-10-12
  • 宝沃总裁杨嵩:曾和奔驰宝马同水平 已不能同日而语 2018-10-11
  • 新时代党员干部要有更大的担当和作为 2018-10-10
  • “2018-雷霆”专项行动破获百余起台湾间谍案 2018-10-09
  • 朝韩首脑今起在平壤会晤 “金文会”将聚焦三大议题 2018-10-09
  • 2018顺义啤酒节--北京频道--人民网 2018-10-08
  • 台湾遭遇的“断交潮”有无化解之道? 2018-10-08
  • 习近平会见爱沙尼亚总统卡柳莱德 2018-10-08
  • 中国空间站研制建设正有序开展 坚持和平利用 2018-10-07
  • Idlib to further divide Ankara and Moscow 2018-10-06
  • 一个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进行开发的程序员或团队阅读。