数据库常用操作函数库(使用PDO):
连接connect(),新增insert(),更新update(),单条查询find(),多条查询select(),删除delete()
实例
<?php /** * PDO数据库操作函数库 */ //连接数据库 if (!function_exists('connect')) { /** * 数据库连接 * @param $dbname * @param string $type * @param string $host * @param string $charset * @param int $port * @param string $user * @param string $pass * @return PDO */ function connect( $dbname,$type='mysql',$host='127.0.0.1', $charset='utf8', $port=3306,$user='root',$pass='root') { $dsn = "{$type}:host={$host}; dbname={$dbname}; charset={$charset}; port={$port}";//数据源 $userName = 'root'; //数据库用户名 $password = 'root'; //数据库用户密码 //配置连接属性 $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //设置错误模式 PDO::ATTR_CASE => PDO::CASE_NATURAL, //数据表字段保持不变 PDO::ATTR_EMULATE_PREPARES => true, //启用PDO模拟 PDO::ATTR_PERSISTENT => true, //启用持久性连接 ]; try { $pdo = new PDO($dsn, $userName, $password, $options); //实例化PDO类,创建PDO对象 } catch (PDOException $e) { die('Connect ERROR!:'.$e->getMessage()); } return $pdo; } } //新增数据 if (!function_exists('insert')) { /** * 新增数据 * @param $pdo * @param $table * @param $data * @return bool */ function insert($pdo, $table, $data=[]) { $sql = "INSERT IGNORE {$table} SET "; //创建SQL语句 foreach (array_keys($data) as $field) { $sql .= $field.'=:'.$field.', '; } $sql = rtrim(trim($sql),',').';'; //去掉尾部逗号,并添加分号结束 $stmt = $pdo->prepare($sql); //创建PDO预处理对象 //绑定参数到预处理对象 foreach ($data as $field => $value) { $stmt->bindValue(":{$field}",$value); } //执行新增操作 if($stmt->execute()){ if($stmt->rowCount()>0){ return true; } } else { return false; } } } //更新数据 if (!function_exists('update')) { function update($pdo,$table,$data=[], $where='') { $sql = "UPDATE {$table} SET "; //创建SQL语句 foreach (array_keys($data) as $field) { $sql .= $field.'=:'.$field.', '; } $sql = rtrim(trim($sql),','); //去掉尾部逗号,并添加分号结束 //添加更新条件 if(!empty($where)) { $sql .= ' WHERE '. $where; }else{ exit('条件不能为空'); } $stmt = $pdo->prepare($sql); //创建PDO预处理对象 //绑定参数到预处理对象 foreach ($data as $field => $value) { $stmt->bindValue(":{$field}",$value); } //执行新增操作 if($stmt->execute()){ if($stmt->rowCount()>0){ return true; } } else { return false; } } } //查询单条数据 if (!function_exists('find')) { /** * 查询单条记录 * @param $pdo * @param $table * @param $fields * @param string $where * @return bool */ function find($pdo,$table,$fields, $where='') { //创建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; } $sql .= ' LIMIT 1'; $sql = rtrim(trim($sql),',').';'; //去掉尾部逗号,并添加分号结束 $stmt = $pdo->prepare($sql); //创建PDO预处理对象 //执行查询操作 if($stmt->execute()){ if($stmt->rowCount()>0){ $stmt->setFetchMode(PDO::FETCH_ASSOC); return $stmt->fetch(); } } else { return false; } } } //查询多条记录 if (!function_exists('select')) { /** * 查询多条记录 * @param $pdo * @param $table * @param $fields * @param string $where * @return bool */ function select($pdo,$table,$fields, $where='', $order='') { //创建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; } $sql = rtrim(trim($sql),',').';'; //去掉尾部逗号,并添加分号结束 $stmt = $pdo->prepare($sql); //创建PDO预处理对象 //执行查询操作 if($stmt->execute()){ if($stmt->rowCount()>0){ $stmt->setFetchMode(PDO::FETCH_ASSOC); return $stmt->fetchAll(); //返回一个二维数组 } } else { return false; } } } //删除数据 if (!function_exists('delete')) { /** * 删除记录 * @param $pdo * @param $table * @param string $where * @return bool */ function delete($pdo,$table, $where='') { //创建SQL语句 $sql = "DELETE FROM {$table} "; //添加删除条件 if(!empty($where)) { $sql .= 'WHERE '. $where; }else{ exit('条件不能为空'); } $sql = rtrim(trim($sql),',').';'; //去掉尾部逗号,并添加分号结束 $stmt = $pdo->prepare($sql); //创建PDO预处理对象 //执行删除操作 if($stmt->execute()){ if($stmt->rowCount()>0){ return true; } } else { return false; } } }
运行实例 »
点击 "运行实例" 按钮查看在线实例