php封装mysql操作类
来源:互联网 发布:女生适合网络还是软件 编辑:程序博客网 时间:2024/05/17 23:12
php封装mysql操作类:
<?phpdefine("DB_HOST",'127.0.0.1');// 数据库配置define("DB_USERNAME",'root');define("DB_PASSWORD",'root');define("DB_NAME",'test');define("DB_SLAVE_HOST",'127.0.0.1');// 从库配置define("DB_SLAVE_USERNAME",'root');define("DB_SLAVE_PASSWORD",'root');define("DB_SLAVE_NAME",'test');class Mysqls{// 数据库连接protected $dblink;// 当前使用protected $config = array('host'=>DB_HOST,'username'=>DB_USERNAME,'password'=>DB_PASSWORD,'dbname'=>DB_NAME);// 主数据库protected $mconfig = array('host'=>DB_HOST,'username'=>DB_USERNAME,'password'=>DB_PASSWORD,'dbname'=>DB_NAME);// slave数据库protected $sconfig = array('host'=>DB_SLAVE_HOST,'username'=>DB_SLAVE_USERNAME,'password'=>DB_SLAVE_PASSWORD,'dbname'=>DB_SLAVE_NAME);/** * 构造函数 * @param bool $is_slave 是否连从库 * @param array $p */function __construct($is_slave=false,$p=array()){$this->dblink = false;if(isset($p['host']))// 程序中配置数据库连接{$this->config = $p;}if($is_slave && $this->sconfig['host'])// 选择slave数据库并且配置了slave数据库{$this->config = $this->sconfig;}else{$this->config = $this->mconfig;}}/** * 执行sql * @param $sql * @param bool $affect_num 是否返回影响行数 * @return int|resource */function query($sql,$affect_num=false){if(!$this->dblink)// 只有执行sql的时候才有数据库链接{$this->dblink = mysql_connect($this->config['host'],$this->config['username'],$this->config['password']) or die('连接失败:' . mysql_error());mysql_select_db($this->config['dbname'],$this->dblink) or die('连接失败:'.mysql_error());mysql_query("set names utf8",$this->dblink);}$res = mysql_query($sql,$this->dblink);if($affect_num){return $res?mysql_affected_rows($this->dblink):0;}return $res;}/** * 获取单个字段数据 * @param $sql * @return mixed */function getOne($sql){$query = $this->query($sql);$data = mysql_fetch_array($query,MYSQL_NUM);return $data[0];}/** * 取出一条数据 * @param $sql * @return array */function getRow($sql){$query = $this->query($sql);$data = mysql_fetch_array($query,MYSQL_ASSOC);return $data?$data:array();}/** * 取出多条数据 * @param $sql * @return array */function getRows($sql){$query = $this->query($sql);$data = array();while($row = mysql_fetch_array($query,MYSQL_ASSOC)){$data[] = $row;}return $data;}/** * 插入数据,debug为真返回sql * @param $table * @param $data * @param bool $return * @param bool $debug * @return bool|int|resource|string */function insert($table, $data, $return = false, $debug=false){if(!$table){return false;}$fields = array();$values = array();foreach ($data as $field => $value){$fields[] = '`'.$field.'`';$values[] = "'".addslashes($value)."'";}if(empty($fields) || empty($values)){return false;}$sql = 'INSERT INTO `'.$table.'`('.join(',',$fields).')VALUES ('.join(',',$values).')';if($debug){return $sql;}$query = $this->query($sql);return $return ? mysql_insert_id() : $query;}/** * 更新数据 * @param $table * @param $condition * @param $data * @param int $limit * @param bool $debug * @return bool|int|resource|string */function update($table, $condition, $data, $limit = 1, $debug=false){if(!$table){return false;}$set = array();foreach ($data as $field => $value){$set[] = '`'.$field.'`='."'".addslashes($value)."'";}if(empty($set)){return false;}$sql = 'UPDATE `'.$table.'`SET '.join(',',$set).'WHERE '.$condition.' '.($limit ? 'LIMIT '.$limit : '');if($debug){return $sql;}return $this->query($sql);}}
0 0
- php封装mysql操作类
- php封装mysql操作类
- PHP操作MySql封装类
- php操作mysql(封装mysql类)
- PHP操作mysql类的封装
- PHP封装的一个单例模式Mysql操作类
- PHP(4)封装的mysql操作模块
- php封装xml操作类
- PHP封装数据库操作类
- PHP数据库操作类封装
- PHP封装FastDFS操作类
- PHP PDO(mysql) 封装类
- PHP 简单mysql封装类
- PHP封装Mysql工具类
- C# Mysql封装操作类
- PHP MySql的dql和dml操作的封装,成为固定的工具类
- php mysqli面向对象封装mysql数据库常用操作
- PHP+MYSQL操作类
- 闪存逐鹿——NVMe引领闪存新时代
- 第9章 接口 —— 《Thinking in Java》学习笔记
- 概率估计
- Android Camera代码位置
- MFC修改button的颜色、背景、边框、对话框标题
- php封装mysql操作类
- HDU 4026 Unlock the Cell Phone(动态规划)
- 从大局着眼,从小事着手
- 大数据处理学习之 垃圾邮件判定1
- 01_hibernate快速预览demo
- Get URL parameters & values with jQuery
- php封装xml操作类
- HDU1217 Arbitrage 【SPFA】
- 剑指Offer9斐波那契数列