define('DSN', 'mysql:host=127.0.0.1;dbname=baozhong_tour'); //数据库地址+数据库名的常量 - define('DB_USERNAME', 'root'); //数据库用户名
- define('DB_USERPWD', ''); //数据库密码
- ?>
- /**
- * @author shuimugan
- * @version 0.2
- * @return PDOStatement
- */
- function getConn() {
- try {
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD); //创建pdo对象,传入数据库参数信息
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //设置数据库错误信息
- $db->query('set names utf8;'); //设置编码为utf8
- return $db;
- }
- catch (PDOException $e) {
- echo '数据处理出错,请联系网站管理员!';
- print_r($e);//超详细的报错信息,上线后必须注释这句话!
- return false;
- }
- }
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 表名,类型为字符串
- * @param Array $column_name 列名,要数组的格式
- * @param String $condition 条件,如'where name=? and pws=?'或'name like?'
- * @param Array $condition_value 条件对应的数据,类型要求为数组,如'name=? and pws=?' 时,
- * @return Array 返回一个结果集 数组形式
- * @example $column_name=array('*');
- $condition_value=array('1');
- $limit='limit 0,10';
- $res=easy_select('user', $column_name, 'where id=? ', $condition_value,$limit);
- */
- function easy_select($tablename,$column_name,$condition,$condition_value,$limit) {
- try {
- $db=getConn();
- $sql='select ';//初始化sql语句
- foreach ($column_name as $col_name) {
- //动态追加列名进sql语句
- if($col_name=='*'){
- $sql.='*';
- break;
- }
- if($col_name==end($column_name))
- {
- $sql.=$col_name." ";//如果属于最后一个,语句不拼接逗号
- }else {
- $sql.=$col_name.", ";//拼接列名+逗号
- }
- }
- $sql.="from ".$tablename." ";//拼接表名
- $sql.=$condition.' ';//拼接条件语句
- if(strlen($limit)>0){
- $sql.=$limit;//拼接limit语句
- }
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);//创建pdo对象,传入数据库参数信息
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//设置数据库错误信息
- $db->query('set names utf8;');//设置编码为utf8
- $stmt = $db->prepare($sql);
- $i=1;//开始计数,计算?的数量
- $j=count($condition_value);
- for (; $i <= $j; ) {
- $stmt->bindParam($i, $condition_value[$i-1]);// 绑定参数
- $i++;
- }
- // 查询
- $stmt->setFetchMode(PDO::FETCH_ASSOC);//设置通过字段获取数据
- $stmt->execute();
- // 获取数据
- return $stmt->fetchAll();
- //return $stmt->rowCount();
- } catch (PDOException $e) {
- return false;
- echo '数据处理出错,请联系网站管理员!';
- print_r($e);//超详细的报错信息,上线后必须注释这句话!
- }
- }
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 表名,类型为字符串
- * @param Array $column_name 列名,要数组的格式
- * @param String $condition 条件,如'where name=? and pws=?'或'name like?'
- * @param Array $condition_value 条件对应的数据,类型要求为数组,如'name=? and pws=?' 时,
- * @return int 返回记录条数
- * @example $column_name=array('*');
- $condition_value=array('1');
- $limit='limit 0,10';
- $res=easy_selectCount('user', $column_name, 'where id=? ', $condition_value,$limit);
- */
- function easy_selectCount($tablename,$column_name,$condition,$condition_value,$limit) {
- try {
- $db=getConn();
- $sql='select ';//初始化sql语句
- foreach ($column_name as $col_name) {
- //动态追加列名进sql语句
- if($col_name=='*'){
- $sql.='*';
- break;
- }
- if($col_name==end($column_name))
- {
- $sql.=$col_name." ";//如果属于最后一个,语句不拼接逗号
- }else {
- $sql.=$col_name.", ";//拼接列名+逗号
- }
- }
- $sql.="from ".$tablename." ";//拼接表名
- $sql.=$condition.' ';//拼接条件语句
- if(strlen($limit)>0){
- $sql.=$limit;//拼接limit语句
- }
- ;
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);//创建pdo对象,传入数据库参数信息
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//设置数据库错误信息
- $db->query('set names utf8;');//设置编码为utf8
- $stmt = $db->prepare($sql);
- $i=1;//开始计数,计算?的数量
- $j=count($condition_value);
- for (; $i <= $j; ) {
- $stmt->bindParam($i, $condition_value[$i-1]);// 绑定参数
- $i++;
- }
- // 查询
- //$stmt->setFetchMode(PDO::FETCH_ASSOC);//设置通过字段获取数据
- $stmt->execute();
- // 获取数据
- return $stmt->rowCount();
- } catch (PDOException $e) {
- return false;
- echo '数据处理出错,请联系网站管理员!';
- print_r($e);//超详细的报错信息,上线后必须注释这句话!
- }
- }
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 表名,类型为字符串
- * @param Array $column_name 列名,要数组的格式
- * @param Array $column_value 对应的数据,要求数组的格式
- * @return int 返回最后自增的id
- * @example $column_name=array('pwd','ip','name');
- $column_value=array('1246','11.11.11.11','张三');
- echo easy_insert('user',$column_name,$column_value);
- */
- function easy_insert($tablename,$column_name,$column_value) {
- try {
- $db=getConn();
- $sql='INSERT INTO ';//初始化sql语句
- $sql.=$tablename.' (';//拼接表名
- foreach ($column_name as $col_name) {
- //动态追加列名进sql语句
- if($col_name==end($column_name))
- {
- $sql.=$col_name." )";//如果属于最后一个,拼接右括号
- }else {
- $sql.=$col_name.", ";//拼接列名+逗号
- }
- }
- $sql.=' VALUES (';//拼接$condition_value语句
- for ($i=0; $i < count($column_name); $i++) {//拼接问号?
- if ($i==count($column_name)-1) {
- $sql.='?) ;';
- }else {
- $sql.='?,';
- }
- }
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);//创建pdo对象,传入数据库参数信息
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//设置数据库错误信息
- $db->query('set names utf8;');//设置编码为utf8
- $stmt = $db->prepare($sql);
- for ($i=1; $i <= count($column_name); $i++) {//拼接问号?
- $stmt->bindParam($i, $column_value[$i-1]);
- }
- // 查询
- //echo $sql;
- $stmt->setFetchMode(PDO::FETCH_ASSOC);//设置通过字段获取数据
- $stmt->execute();
- // 获取数据
- return $db->lastInsertId();
- } catch (PDOException $e) {
- return false;
- echo '数据处理出错,请联系网站管理员!';
- print_r($e);//超详细的报错信息,上线后必须注释这句话!
- }
- }
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 表名,类型为字符串
- * @param Array $column_name 列名,要数组的格式
- * @param Array $column_value 对应的数据,要求数组的格式
- * @param String $condition 对应的的where语句 字符串 如 'where id=?'
- * @param Array $condition_value 对应where 后面问号的数据 类型要求为数组
- * @return int 返回影响的数据行数
- * @example $column_name=array('pwd','ip','name');
- $column_value=array('123456','127.152.123.132','张三');
- $condition_value=array('1');
- easy_update('user',$column_name,$column_value,'where id=?',$condition_value,null);
- */
- function easy_update($tablename,$column_name,$column_value,$condition,$condition_value,$limit) {
- try {
- $db=getConn();
- $sql='UPDATE ';//初始化sql语句
- $sql.=$tablename.' SET ';//拼接表名
- foreach ($column_name as $col_name) {
- //动态追加列名进sql语句
- if($col_name==end($column_name))
- {
- $sql.=$col_name." = ? ";//如果属于最后一个
- }else {
- $sql.=$col_name." = ?, ";//拼接列名+逗号
- }
- }
- $sql.=$condition;//拼接条件语句
- if(strlen($limit)>0){
- $sql.=$limit;//拼接limit语句
- }
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);//创建pdo对象,传入数据库参数信息
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//设置数据库错误信息
- $db->query('set names utf8;');//设置编码为utf8
- $stmt = $db->prepare($sql);//准备语句
- $i=1;
- $total=count($column_name)+count($condition_value);
- for (;$i <= count($column_name);) {
- $stmt->bindParam($i, $column_value[$i-1]);//绑定列名对应数据参数
- $i++;
- }
- $j=1;
- for (;$i <= $total;) {
- $stmt->bindParam($i, $condition_value[$j-1]);//绑定条件对应数据参数
- $i++;
- $j++;
- }
- // 查询
- $stmt->setFetchMode(PDO::FETCH_ASSOC);//设置通过字段获取数据
- $stmt->execute();
- // 获取数据
- return $stmt->rowCount();
- } catch (PDOException $e) {
- return false;
- echo '数据处理出错,请联系网站管理员!';
- print_r($e);//超详细的报错信息,上线后必须注释这句话!
- }
- }
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 表命名
- * @param String $condition 条件 如 'where id= ?'
- * @param Array $condition_value 条件对应的值 就是?对应的值
- * @param String $limit 限制语句 如'limit 0,1'
- * @return int 返回影响结果数
- * @example $condition_value=array('83');
- echo easy_delete('user', 'where id=?', $condition_value, null);
- */
- function easy_delete($tablename,$condition,$condition_value,$limit) {
- try {
- $db=getConn();
- $sql='DELETE FROM ';//初始化sql语句
- $sql.=$tablename.' ';//拼接表名
- $sql.=$condition;//拼接条件语句
- if(strlen($limit)>0){
- $sql.=$limit;//拼接limit语句
- }
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);//创建pdo对象,传入数据库参数信息
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//设置数据库错误信息
- $db->query('set names utf8;');//设置编码为utf8
- $stmt = $db->prepare($sql);//准备语句
- for ($i=1;$i <= count($condition_value);) {
- $stmt->bindParam($i, $condition_value[$i-1]);//绑定条件对应数据参数
- $i++;
- }
- // 查询
- $stmt->setFetchMode(PDO::FETCH_ASSOC);//设置通过字段获取数据
- $stmt->execute();
- // 获取数据
- return $stmt->rowCount();
- } catch (PDOException $e) {
- return false;
- echo '数据处理出错,请联系网站管理员!';
- print_r($e);//超详细的报错信息,上线后必须注释这句话!
} - }
- ?>
|