🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# php公用方法库 --- * 1,所有示例通用方法。 * 2,避免示例中,出现重复的方法。 * 3,方法每次会更新,大家拷贝存储到一个文件里就行了。 * 4,方法库文件,只演示实现功能。安全,扩展功能不演示。 >引入方法库文件: ```php require 'function.php'; ``` ```php // 以下代码存储到一个文件里,文件名:function.php /** * 数据库连接 * @param $db * @return PDO */ function connect(){ $db = array( 'charset' => 'utf8', 'port' => 3306, 'type' => 'mysql', 'host' => '127.0.0.1', 'user' => 'root', 'pass' => 'root', 'name' => 'ouyangke' ); $dsn = "{$db['type']}:host={$db['host']}; dbname={$db['name']}; charset={$db['charset']}; port={$db['port']}";//数据源 try { //实例化PDO类,创建PDO对象 $pdo = new PDO($dsn,$db['user'],$db['pass']); } catch (PDOException $e) { die('数据库错误:'.$e->getMessage()); } return $pdo; } /** * 查询多条记录 * @param $db * @param $table * @param $fields * @param string $where * @return array */ function select($table,$fields, $where='', $order='',$limit=''){ //连接pdo $pdo = 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 = $pdo->prepare($sql); //执行查询操作 if($stmt->execute()){ if($stmt->rowCount()>0){ $stmt->setFetchMode(PDO::FETCH_ASSOC); //返回一个二维数组 return $stmt->fetchAll(); } } else { return false; } } /** * 查询单条记录 * @param $db * @param $table 表名 * @param $fields 返回值 * * @param string $where 条件 * @return array */ function find($table,$fields,$where=''){ //连接pdo $pdo = 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; } $sql .= ' LIMIT 1;'; //创建PDO预处理对象 $stmt = $pdo->prepare($sql); //执行查询操作 if($stmt->execute()){ if($stmt->rowCount()>0){ $stmt->setFetchMode(PDO::FETCH_ASSOC); return $stmt->fetch(); } } else { return false; } } /** * 新增数据 * @param $db * @param $table * @param $data * @return bool */ function insert($table,$data=[]){ //连接pdo $pdo = 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 = $pdo->prepare($sql); //执行新增操作 if($stmt->execute()){ if($stmt->rowCount()>0){ return true; } } else { return false; } } /** * 更新数据 * @param $db * @param $table * @param $data * @return bool */ function update($table,$data=[], $where='') { //连接pdo $pdo = 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 = $pdo->prepare($sql); //执行新增操作 if($stmt->execute()){ if($stmt->rowCount()>0){ return true; } } else { return false; } } /** * 删除记录 * @param $db * @param $table * @param string $where * @return bool */ function delete($table,$where=''){ //连接pdo $pdo = connect(); //创建SQL语句 $sql = "DELETE FROM {$table} "; //查询条件 if(!empty($where)){ $sql .= ' WHERE '.$where; } //创建PDO预处理对象 $stmt = $pdo->prepare($sql); //执行删除操作 if($stmt->execute()){ if($stmt->rowCount()>0){ return true; } } else { return false; } } /** * 统计数量 * @param $pdo * @param $table * @param string $where * @return number */ function count_num($table,$where){ //连接pdo $pdo = connect(); //创建SQL语句 $sql = 'SELECT count(*) as count_number FROM '.$table; //查询条件 if(!empty($where)){ $sql .= ' WHERE '.$where; } //创建PDO预处理对象 $stmt = $pdo->prepare($sql); //执行查询操作 if($stmt->execute()){ if($stmt->rowCount()>0){ $row = $stmt->fetch(PDO::FETCH_ASSOC); $rows = $row['count_number']; return $rows; } } else { return false; } } // json数据格式整理 function return_json($code,$data=array()){ if($code == 0){ $array = array( 'code' => 0, 'msg' => 'success', 'data' => $data ); }else{ $array = array( 'code' => $code, 'msg' => $data ); } echo json_encode($array); exit; } /** * 请求接口返回内容 * @param string $url [请求的URL地址] * @param string $params [请求的参数] * @param int $ipost [是否采用POST形式] * @return string */ function curl_data($url, $params = false, $ispost = 0){ $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); // 默认值,让 cURL 自己判断使用哪个版本。 (强制使用 HTTP/1.1)。 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); // 在尝试连接时等待的秒数。设置为0,则无限等待。 curl_setopt($ch, CURLOPT_TIMEOUT, 60); // 设置超时限制防止死循环 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 要求结果保存到字符串中还是输出到屏幕上 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 爬取重定向页面 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);// 对认证证书来源的检查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);// 从证书中检查SSL加密算法是否存在 if ($ispost) { curl_setopt($ch, CURLOPT_POST, true); // 发送一个常规的Post请求 curl_setopt($ch, CURLOPT_POSTFIELDS, $params); // Post提交的数据包 curl_setopt($ch, CURLOPT_URL, $url); // 设置URL } else { // GET请求,组装url if ($params) { curl_setopt($ch, CURLOPT_URL, $url.'?'.$params); } else { curl_setopt($ch, CURLOPT_URL, $url); } } $response = curl_exec($ch); // 运行cURL,请求URL,把结果复制给变量 curl_close($ch); // 关闭curl连接 return $response; } ```