摘要:最近在做項(xiàng)目時(shí)用到了操作數(shù)據(jù)庫,于是自己寫了一個(gè)類文件,命名為文件代碼如下常量聲明數(shù)據(jù)庫地址數(shù)據(jù)庫名數(shù)據(jù)庫地址與數(shù)據(jù)庫名及編碼數(shù)據(jù)庫用戶名用戶名數(shù)據(jù)庫密碼密碼私有變量聲明語句緩存數(shù)據(jù)庫連接結(jié)果名稱建立連接屬性私有創(chuàng)建連接名稱執(zhí)行語句屬性
最近在做項(xiàng)目時(shí)用到了PDO操作mysql數(shù)據(jù)庫,于是自己寫了一個(gè)類文件,命名為mysql_class.php文件代碼如下:
link = new PDO(self::DSN, self::USERNAME, self::PASSWD, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));//創(chuàng)建連接 } catch (PDOException $e) { die ("Error!:".$e->getMessage()."
"); } } /******************************************************************************* * @ 名稱:執(zhí)行sql語句 * @ 屬性:私有 * @ 入口參數(shù):無 * @ 出口參數(shù):執(zhí)行成功返回真,否則返回假,查詢語句存儲(chǔ)結(jié)果集數(shù)組 *******************************************************************************/ private function sql(){ try { $this->connect(); $this->link->beginTransaction();//開啟一個(gè)事務(wù) $prepare = $this->link->prepare($this->sql);//準(zhǔn)備查詢語句 $prepare->execute();//執(zhí)行查詢語句并返回結(jié)果集 $cmd = strtolower(substr(trim($this->sql),0,6));//截取命令字符 if($cmd == "select"){ $array = $prepare->fetch(PDO::FETCH_ASSOC);//獲取結(jié)果集中的所有數(shù)據(jù) if(count($array)){ $this->result = NULL; $this->result = $array;//存儲(chǔ)結(jié)果集 return true;//查詢到結(jié)果返回真 }else{ return false;//否則返回假 } }else if($cmd == "insert" || $cmd == "delete" || $cmd == "update"){ if($prepare){ return true;//執(zhí)行成功返回真 }else{ return false;//否則返回假 } } $this->link->commit(); //如果正確執(zhí)行完成那么確認(rèn)commit } catch (PDOException $e) { $this->link->rollBack();//如果執(zhí)行中有錯(cuò)誤的情況下回滾 die ("Error!:".$e->getMessage()."
"); } } /******************************************************************************* * @ 名稱:sql語句處理 * @ 屬性:公有 * @ 入口參數(shù):cmd增刪改查字符命令;dsname數(shù)據(jù)表名;first第一個(gè)參數(shù);second第二個(gè)參數(shù); * @ 出口參數(shù):執(zhí)行成功返回真,否則返回假,查詢操作返回結(jié)果集數(shù)組 * @ 使用示例: $mysql->handle("insert","abc","openid,nickname",""123","abc"");//增加 $mysql->handle("delete","abc","openid="123"");//刪除 $mysql->handle("update","abc","nickname="def"","openid="123"");//更新 $res = $mysql->handle("select","abc","*","openid="123"");//查詢 if(is_array($res) == true){ foreach($res as $key=>$val){ echo $key."=".$val."
"; } }//遍歷查詢結(jié)果數(shù)組 *******************************************************************************/ public function handle($cmd,$dsname,$first,$second=NULL){ switch($cmd){ case "insert"://插入 $this->sql = "insert into $dsname ($first) values ($second)"; break; case "delete"://刪除 $this->sql = "delete from $dsname where $first"; break; case "update"://更新 $this->sql = "update $dsname set $first where $second"; break; case "select"://查詢 $this->sql = "select $first from $dsname where $second"; break; default: die ("Syntax Error!");//提示語法錯(cuò)誤 break; } $res = $this->sql();//執(zhí)行sql語句 if($res){ if($cmd == "select"){ return $this->result;//返回查詢結(jié)果 }else{ return true;//執(zhí)行成功返回真 } }else{ return false;//否則返回假 } $this->link=NULL;;//關(guān)閉數(shù)據(jù)庫 } } $mysql = new mysql;//數(shù)據(jù)庫類的實(shí)例化 ?>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28260.html
摘要:我采用原生編寫后臺(tái),因?yàn)楦杏X增刪改查的功能很簡單,就懶得用框架了其實(shí)是不會(huì)。瀏覽模式它也有一個(gè),用來切換文章列表和文章詳情,也就是和編輯模式它加載了作為工具欄,然后可以進(jìn)行文章的撰寫與修改。 介紹 項(xiàng)目地址:https://github.com/jrainlau/MintloG (特別亂,參考就好-_-|||)showImg(https://segmentfault.com/img/b...
摘要:第三步注冊工廠啟動(dòng)數(shù)據(jù)庫服務(wù)數(shù)據(jù)庫服務(wù)的啟動(dòng)主要設(shè)置的連接分析器,讓能夠用服務(wù)連接數(shù)據(jù)庫。 在我們學(xué)習(xí)和使用一個(gè)開發(fā)框架時(shí),無論使用什么框架,如何連接數(shù)據(jù)庫、對數(shù)據(jù)庫進(jìn)行增刪改查都是學(xué)習(xí)的重點(diǎn),在Laravel中我們可以通過兩種方式與數(shù)據(jù)庫進(jìn)行交互: DB, DB是與PHP底層的PDO直接進(jìn)行交互的,通過查詢構(gòu)建器提供了一個(gè)方便的接口來創(chuàng)建及運(yùn)行數(shù)據(jù)庫查詢語句。 Eloquent...
摘要:操作數(shù)據(jù)庫的種形式使用擴(kuò)展類庫推薦使用擴(kuò)展類庫這是類庫的升級(jí)版,但已經(jīng)不推薦使用擴(kuò)展包含哪三個(gè)類與區(qū)別可以支持多種數(shù)據(jù)庫,而且操作方法一致只支持?jǐn)?shù)據(jù)庫如何使用連接數(shù)據(jù)庫什么是如何關(guān)閉連接通過來連接數(shù)據(jù)庫,其中必須傳入數(shù)據(jù)源名稱數(shù)據(jù)源名稱是 PHP操作數(shù)據(jù)庫的2種形式 使用 PDO 擴(kuò)展類庫(推薦) 使用 Mysqli 擴(kuò)展類庫(這是Mysql類庫的升級(jí)版,但已經(jīng)不推薦使用) PDO...
閱讀 3735·2021-11-24 09:39
閱讀 1894·2021-11-16 11:45
閱讀 623·2021-11-16 11:45
閱讀 1044·2021-10-11 10:58
閱讀 2489·2021-09-09 11:51
閱讀 1948·2019-08-30 15:54
閱讀 699·2019-08-29 13:13
閱讀 3477·2019-08-26 12:18