亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • PDO statement對象的方法
    查看全部
  • PDO對象方法
    查看全部
  • 這一節 蒙了
    查看全部
  • 請大家注意,需要面向編程的,建議直接看 PHP面向對象編程 http://www.xianlaiwan.cn/learn/184 這個分類在中級,但是很詳細
    查看全部
  • pdo連接數據庫
    查看全部
    0 采集 收起 來源:PDO連接數據庫

    2017-12-20

  • zhongdiao
    查看全部
  • POP3/SMTP 服務開啟
    查看全部
  • //獲得最后一次SQL語句 public static function getLastSql(){ $link=self::$link; if(!$link)return false; return self::$queryStr; } //獲得最后一次插入語句產生的AUTO_INCREMENT public static function getLastInsertId(){ $link=self::$link; if(!$link)return false; //在每次在execute()中執行SQL語句成功后獲得self::$lastInsertId return self::$lastInsertId; } //獲取服務器版本 public static function getDbVerion(){ $link=self::$link; if(!$link)return false; //在構造函數中鏈接數據庫成功時獲得self::$dbVersion return self::$dbVersion; } //獲得數據庫中的所有表 public static function showTables(){ $tables=array(); if(self::query("SHOW TABLES")){ $result=self::getAll(); foreach($result as $key=>$val){ $tables[$key]=current($val); } } return $tables; }
    查看全部
  • //刪除記錄的操作 public static function delete($table,$where=null,$order=null,$limit=0){ $sql="DELETE FROM {$table} ".self::parseWhere($where).self::parseOrder($order).self::parseLimit($limit); return self::execute($sql); }
    查看全部
  • //更新記錄 參數1為關聯數組,鍵名為列名 public static function update($data,$table,$where=null,$order=null,$limit=0){ foreach($data as $key=>$val){ $sets.=$key."='".$val."',"; } //$sets最后會多一個逗號(上面連接字符串時定義所有的$val后面都添加了逗號).所有要去掉 $sets=rtrim($sets,','); $sql="UPDATE {$table} SET {$sets} ".self::parseWhere($where).self::parseOrder($order).self::parseLimit($limit); return self::execute($sql); }
    查看全部
  • //添加記錄的操作 參數1為關聯數組,鍵名為列名,鍵值為數據; 參數2為 string public static function add($data,$table){ //獲取關聯數組內的所有鍵名,存儲在索引字符串并返回 $keys=array_keys($data); //給$keys所有值添加單引號 array_walk($keys,array('PdoMySQL','addSpecialChar')); $fieldsStr=join(',',$keys); $values="'".join("','",array_values($data))."'"; $sql="INSERT {$table}({$fieldsStr}) VALUES({$values})"; //執行插入并返回受影響行條數; return self::execute($sql); }
    查看全部
  • //對分組結果通過Having子句進行二次刪選 //設置的Having條件必須為字符串且有值,否則返回空字符串 public static function parseHaving($having){ $havingStr=''; if(is_string($having)&&!empty($having)){ $havingStr.=' HAVING '.$having; } return $havingStr; } //解析Order by //設置的Order by條件必須為 數組 或 有字符的字符串,否則返回空字符串 public static function parseOrder($order){ $orderStr=''; if(is_array($order)){ //join()拼接數組成字符串 $orderStr.=' ORDER BY '.join(',',$order); }elseif(is_string($order)&&!empty($order)){ $orderStr.=' ORDER BY '.$order; } return $orderStr; } //解析限制顯示條數limit //設置的limit條件必須為 數組 或 有字符的字符串,否則返回空字符串 public static function parseLimit($limit){ $limitStr=''; if(is_array($limit)){ if(count($limit)>1){ //從第$limit[0]條記錄往下去$limit[1]條記錄 //防止用戶輸入多于兩個的數組值,所有不用join(),implode()等函數 $limitStr.=' LIMIT '.$limit[0].','.$limit[1]; }else{ $limitStr.=' LIMIT '.$limit[0]; //從第一條記錄開始往下去$limit[0]條記錄 } }elseif(is_string($limit)&&!empty($limit)){ $limitStr.=' LIMIT '.$limit; } return $limitStr; }
    查看全部
  • //執行普通查詢 public static function find($tables,$where=null,$fields='*',$group=null,$having=null,$order=null,$limit=null){ $sql='SELECT '.self::parseFields($fields).' FROM '.$tables .self::parseWhere($where) .self::parseGroup($group) .self::parseHaving($having) .self::parseOrder($order) .self::parseLimit($limit); $dataAll=self::getAll($sql); //count(array,mode)返回數組中元素的數目。mode=0:返回第一維數組元素數目, mode=1:返回所有數組元素數目 return count($dataAll)==1?$dataAll[0]:$dataAll; } //解析Where條件 //設置的where條件必須為字符串且有值,否則返回空字符串 public static function parseWhere($where){ $whereStr=''; if(is_string($where)&&!empty($where)){ $whereStr=' WHERE '.$where; } return $whereStr; } //解析group by條件 //設置的group by條件必須為 數組 或 有字符的字符串,否則返回空字符串 public static function parseGroup($group){ $groupStr=''; if(is_array($group)){ //implode()拼接數組成字符串 $groupStr.=' GROUP BY '.implode(',',$group); }elseif(is_string($group)&&!empty($group)){ $groupStr.=' GROUP BY '.$group; } return $groupStr; }
    查看全部
  • //通過反引號引用字段 /*解釋一下這里不用做處理的原因,就是說,如果用'`'引用起來的這種就如 select name ,esc from user where id=1;這里的esc是保留字會報錯, select name ,`desc` from user where id=1;這樣就可以執行,同理 select name,user.desc from user where id=1,也是同樣可以執行的; 所以這里的判斷就是判斷這兩種情況。*/ //測參數是否為'*' 或 是否已經擁有'.' 或 是否擁有反引號,如果是則不處理,如果沒有則給參數添加單引號(參數為引用傳遞) public static function addSpecialChar(&$value){ if($value==='*'||strpos($value,'.')!==false||strpos($value,'`')!==false){ //不用做處理 }elseif(strpos($value,'`')===false){ //如果沒有單引號,添加單引號 $value='`'.trim($value).'`'; } return $value; }
    查看全部
  • //根據主鍵查找記錄 public static function findById($tabName,$priId,$fields='*'){ $sql='SELECT %s FROM %s WHERE id=%d'; return self::getRow(sprintf($sql,self::parseFields($fields),$tabName,$priId)); } //解析字段 public static function parseFields($fields){ if(is_array($fields)){ //為數組時 //array_walk()對數組中的每個元素應用用戶自定義函數(或方法),第二個參數表示:調用的自定義方法為PdoMySQL::addSpecialChar() //PdoMySQL::addSpecialChar()給參數添加單引號(參數為引用傳遞) array_walk($fields,array('PdoMySQL','addSpecialChar')); $fieldsStr=implode(',',$fields); }elseif(is_string($fields)&&!empty($fields)){ if(strpos($fields,'`')===false){ //字符串中沒有單引號 $fields=explode(',',$fields); array_walk($fields,array('PdoMySQL','addSpecialChar')); $fieldsStr=implode(',',$fields); }else{ $fieldsStr=$fields; } }else{ $fieldsStr='*'; } return $fieldsStr; }
    查看全部

舉報

0/150
提交
取消
課程須知
1、掌握PHP的基礎語法知識 2、掌握MySQL基本增刪改查語句 3、對面向對象的基本概念有清晰的認識,熟悉PHP中類定義的基本語法
老師告訴你能學到什么?
1、掌握PDO的基本概念及安裝和配置 2、掌握PDO處理數據的基本操作 3、理解PDO事務處理 4、掌握類的封裝的方法

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!