实例
<?php class db{ public $dsn; public $username; public $password; public $pdo; //构造方法,设置pdo连接参数 public function __construct($dsn,$username,$password){ $this->dsn=$dsn; $this->username=$username; $this->password=$password; $this->connect(); } //数据连接方法 public function connect(){ try { //实例化PDO类,创建PDO对象 $this->pdo = new PDO($this->dsn,$this->username,$this->password); //echo '数据库连接成功'; } catch (PDOException $e) { die('数据库错误:'.$e->getMessage()); } } //查询方法 传参说明(表名,字段名或字段名数组,查询条件,排序条件,分页条件) public function select($table,$fields, $where='', $order='',$limit=''){ //连接pdo $this->connect(); //创建SQL语句 $sql = 'SELECT '; if (is_array($fields)) { foreach ($fields as $field) { $sql .= $field.', '; } } else { $sql .= $fields; } $sql = rtrim(trim($sql),','); $sql .= ' FROM '.$table; //查询条件 if(!empty($where)){ $sql .= ' WHERE '.$where; } //排序条件 if(!empty($order)) { $sql .= ' order by '.$order; } //分页条件 if(!empty($limit)) { $sql .= ' limit '.$limit; } $sql .= ';'; //创建PDO预处理对象 $stmt = $this->pdo->prepare($sql); //执行查询操作 if($stmt->execute()){ if($stmt->rowCount()>0){ $stmt->setFetchMode(PDO::FETCH_ASSOC); //返回一个二维数组 return $stmt->fetchAll(); } } else { return false; } } //插入数据方法 传参说明(表名,值(数组[字段名=>值])) function insert($table,$data=[]){ //连接pdo $this->connect(); //创建SQL语句 $sql = "INSERT INTO {$table} SET "; //组装插入语句 if(is_array($data)){ foreach ($data as $k=>$v) { $sql .= $k.'="'.$v.'", '; } }else{ return false; } //去掉尾部逗号,并添加分号结束 $sql = rtrim(trim($sql),',').';'; //创建PDO预处理对象 $stmt = $this->pdo->prepare($sql); //执行新增操作 if($stmt->execute()){ if($stmt->rowCount()>0){ echo '添加成功'; return false; } } else { return false; } } //更新数据方法 传参说明(表名,值(数组[字段名=>值]),条件) function update($table,$data=[], $where='') { //连接pdo $this->connect(); //创建SQL语句 $sql = "UPDATE {$table} SET "; //组装修改语句 if(is_array($data)){ foreach ($data as $k=>$v) { $sql .= $k.'="'.$v.'", '; } } //去掉尾部逗号,并添加分号结束 $sql = rtrim(trim($sql),','); //查询条件 if(!empty($where)){ $sql .= ' WHERE '.$where; } //创建PDO预处理对象 $stmt = $this->pdo->prepare($sql); //执行新增操作 if($stmt->execute()){ if($stmt->rowCount()>0){ echo '更新成功'; return true; } } else { return false; } } //删除数据方法 传参说明(表名,条件) function delete($table,$where=''){ //连接pdo $this->connect(); //创建SQL语句 $sql = "DELETE FROM {$table} "; //查询条件 if(!empty($where)){ $sql .= ' WHERE '.$where; } //创建PDO预处理对象 $stmt = $this->pdo->prepare($sql); //执行删除操作 if($stmt->execute()){ if($stmt->rowCount()>0){ echo '删除成功'; return true; } } else { return false; } } } //创建对像 $db = new db('mysql:host=localhost;dbname=zy','root','root'); // 调用查询数据方法 $user=$db->select('classification','*','','',''); print_r($user); // 调用插入数据方法 //$db->insert('classification',['name'=>'mg','alias'=>'美国大片','status'=>1]); // 调用更新数据方法 //$db->update('classification',['name'=>'mlxy','alias'=>'马来西亚'],'cate_id=12'); // 调用删除数据方法 //$db->delete('classification','cate_id=14'); ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例