• 两男子在吉大美食城“百元找零”诈骗? 2018-08-12
  • 突破!郑鹏创中国队冬残奥会个人项目最好成绩 2018-08-12
  • 今年铜陵市将治理水土流失面积36平方公里 2018-08-11
  • 篮球投注技巧 2018-08-11
  • 威海马上就可以接种四价宫颈癌疫苗 附接种地点 2018-08-10
  • 德赫亚暗示博格巴,像我这样才能在曼联取得成功! 2018-08-10
  • 广州出台“红棉计划”吸引海外人才来穗创新创业 2018-08-10
  • 不敌吉林队 四川男篮赛季排名倒数第二收官 2018-08-10
  • 北京榜样,我为你点一个大大的赞 2018-08-09
  • 石家庄空气质量排名"后十"的乡镇将被约谈 2018-08-08
  • 日本公布秘密文件:美日曾密谋“瓜分”中国(图) 2018-08-08
  • 秦岭户外救援现状调查 志愿者组队救援费用AA制均摊 2018-08-08
  • 皇台酒业为证券虚假陈述案埋单,8名投资者将获赔近62万元 2018-08-08
  • 中科大揭示酵母酶的“钻戒”结构 可优化癌症的个性化治疗 2018-08-08
  • 市场多变难选股 机构斗法巧持仓 2018-08-07
  • 一个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进行开发的程序员或团队阅读。