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);//超詳細的報錯資訊,上線後必須注釋這句話!
}
- }
- ?>
複製代碼 |