Zeopean 的专栏

<?php /*public function db_insert($sql) #插入数据public function db_delete($sql) #删除数据public function db_update($sql) #更新数据public function db_getOne($sql) #获取一条数据public function db_getAll($sql) #获取多条数据public function db_tran_start() #开启事务public function db_tran_commit() #事务提交public function db_tran_rollback() #事务回滚public function db_prepare($sql ,$params )#预编译机制*/header("content-type:text/html;charset=utf-8");class MePDO{// 定义属性private $dsn;private $user;private $password;private $pdo;//定义构造函数public function __construct($arr=array()){$this->dsn = isset($arr['dsn'])?$arr['dsn']:'mysql:host=localhost;dbname=project;';$this->user = isset($arr['user'])?$arr['user']:'root';$this->password = isset($arr['password'])?$arr['password']:'759114';$this->pdo= new PDO($this->dsn,$this->user,$this->password);#实例化pdo对象}//利用PDO实现数据库操作/*@param string $sql 对sql语句进行判定*/private function _Exec($sql){try{#进行错误处理$res = $this->pdo->exec($sql);if(!$res){#语句错误,抛出异常throw new PDOException('出错啦!');}else{return $res;}}catch(PDOException $e){echo $e->getMessage();#输出异常信息echo "<br/>";echo "错误所在行:".$e->getLine()."<br/>";echo "错误编号:".$this->pdo->errorInfo()[1]."<br/>";echo "错误信息:".$this->pdo->errorInfo()[2]."<br/>";exit();}}// 进行插入操作/** @param string $sql*@return int 受影响行数*/public function db_insert($sql){$res = $this->_Exec($sql);#执行操作return $this->pdo->lastInsertId();}// 进行插入操作/** @param string $sql*@return int 受影响行数*/public function db_delete($sql){$affected = $this->_Exec($sql);#执行操作return $affected;}//进行更新操作/*@param string $sql 要插入的sql语句@retutn int 受影响的行数*/public function db_update($sql){$affected = $this->_Exec($sql);#执行操作return $affected;#返回受影响的行数}// 判断查询语句的语法是否正确private function Iserror($sql){try{//执行语句$res = $this->pdo->query($sql);if(!$res){#语句错误,抛出异常throw new PDOException('出错啦!');}return $res;//语句正确}catch(PDOException $e){echo $e->getMessage();#输出错误信息echo "<br/>";echo "错误所在行:".$e->getLine()."<br/>";echo "错误编号:".$this->pdo->errorInfo()[1]."<br/>";echo "错误信息:".$this->pdo->errorInfo()[2]."<br/>";exit();}}//进行获取操作/*@param string $sql@return array 返回一个数组*/public function db_getOne($sql){$stmt = $this->Iserror($sql);#执行sql 语句进行查询, 与exec 方法不同$row = $stmt->fetch(PDO::FETCH_ASSOC);#返回一个关联数组return $row;}#获取多行数据/*@param string $sql 要执行的语句@return array 返回一个数组*/public function db_getAll($sql){$stmt = $this->Iserror($sql);$rows =$stmt->fetchAll($stmt,PDO::FETCH_ASSOC);return $rows;}//pdo 事务处理/*Tran_start 开启事务@param string$sp 保存点,,默认是sp1@return boolean*/public function db_tran_start($sp='sp1'){#执行语句,开启事务$res = $this->pdo->beginTransaction();return true;}/*事务提交@return boolean */public function db_tran_commit(){$this->pdo->commit();}//事务回滚public function db_tran_rollback(){$this->rollBack();}//预编译处理/*@param string $sql#sql 语句中使用 ? 作为占位符@param array $params@param array $arr*/public function db_prepare($sql ,$params ){#prepare的 预编译语句不需要 Iserror判断$stmt = $this->pdo->prepare($sql);#执行语句$stmt->execute($params);$res = $stmt->fetchAll(PDO::FETCH_ASSOC);return $res;}}

谁也不跟谁一辈子,有些事情没必要记在心上。

Zeopean 的专栏

相关文章:

你感兴趣的文章:

标签云: