PHP自寫的一個MYSQL操作類

來源:互聯網
上載者:User
本篇文章給大家分享的是用PHP自寫的一個MYSQL操作類,有感興趣的朋友可以看一下

在此做個記錄

PHP類的幾個知識點

self::$靜態屬性名

$this->一般屬性名稱或方法名


單例類 四個要點

1禁止構造對象---禁止new() private __construct(){} 私人空定義

2禁止複製對象-- clone private __clone(){} 私人空定義

3定義單例對象屬性 private static $對象名 私人靜態空定義

4定義入口方法 public static function 方法名() 公用靜態



<?phpclass mysqldb{public $cs=array(//串連數組"h"=>"127.0.0.1","u"=>"root","p"=>"","db"=>"mysql","pt"=>3306);public $arr;//取回的結果集存放在此數組中private static $con;//串連資源private static $result;//結果資源//串連方法public function connect(){self::$con=@mysqli_connect($this->cs[h],$this->cs[u],$this->cs[p],$this->cs[db],$this->cs[pt]);if ( !self::$con ){die( '<br>串連錯誤 ('.mysqli_connect_errno().') '.mysqli_connect_error());}}//SQL命令執行方法public function query($sql){if(!self::$result=@mysqli_query(self::$con,$sql))//執行SQL命令{if(@mysqli_errno())//執行錯誤編號判斷{//有錯誤編號echo "<br>*****************************";echo "<br />執行失敗!!!";echo "<br>所執行的SQL命令:$sql";echo "<br />錯誤號碼:(".mysqli_errno().")";echo "<br />錯誤資訊:".mysqli_error();echo "<br>*****************************";mysqli_free_result ( $this->result );//釋放結果資源}else{//沒有錯誤編號echo "<br>所執行的SQL命令:$sql";echo "<br>".$this->cs['db']."資料庫中不存在此表";}mysqli_close ( $this->con );//關閉串連資源die();}}//設定字元集 set names utf8public function charset($charset="utf8"){$a="set names ".$charset;$this->query($a);}//開啟/選擇資料庫:USEpublic function selectdb($dbname=""){if($dbname==""){$dbname=$this->cs['db'];}$a="use ".$dbname;$this->query($a);}//執行前的準備 串連 設定串連字元 開啟資料庫public function queryfun(){if(!self::$con)//如果串連資源為NULL{$this->connect();}else{echo "<br>已經建立串連,不必再建立";}$this->charset();//設定字元$this->selectdb();//開啟資料庫}//執行SQL命令,並將遠程結果集存放在本地數組$this->arr.public function queryarr($sql){$this->queryfun();//執行前準備$this->query($sql);//執行命令if(self::$result)//如果有執行結果集就取出存為本地數組{$this->arr=mysqli_fetch_all(self::$result,MYSQLI_ASSOC);//取得所有,欄位名下標的數組mysqli_free_result (self::$result);//釋放資料庫伺服器的結果資源}mysqli_close (self::$con);//斷開資料庫伺服器的串連self::$result=null;//複位self::$con=null;//複位}public function tab($arr){echo "<table border='1'>";foreach($arr as $k1=>$v1){//**********************//表頭if($k1==0){echo "<tr>";foreach($v1 as $k2=>$v2){echo "<th>";echo $k2;echo "</th>";}echo "</tr>";}//**********************//內容echo "<tr>";foreach($v1 as $k2=>$v2){echo "<td>";echo $v2;echo "</td>";}echo "</tr>";}echo "</table>";}public function querytab($sql){$this->queryfun();//執行前準備$this->query($sql);//執行命令if(self::$result)//如果有執行結果集就取出存為本地數組{$this->arr=mysqli_fetch_all(self::$result,MYSQLI_ASSOC);//取得所有帶下標的數組mysqli_free_result (self::$result);//釋放資料庫伺服器的結果資源mysqli_close (self::$con);//斷開資料庫伺服器的串連self::$result=null;//複位self::$con=null;//複位//return $arr;echo "<table border='1'>";foreach($this->arr as $k1=>$v1){//**********************//表頭if($k1==0){echo "<tr>";foreach($v1 as $k2=>$v2){echo "<th>";echo $k2;echo "</th>";}echo "</tr>";}//**********************//內容echo "<tr>";foreach($v1 as $k2=>$v2){echo "<td>";echo $v2;echo "</td>";}echo "</tr>";}echo "</table>";return true;}mysqli_close(self::$con);//斷開資料庫伺服器的串連self::$result=null;//複位self::$con=null;//複位return false;}//*********************************//***單例化//privateprivate function __construct(){}//令new()新對象失效private function __clone(){}//令複製對象失效.private static $db;//單例對像屬性public static function getdb()//單例對象入口{if(!isset(self::$db)){self::$db=new self();}return self::$db;}}//******************************//**********調用例子************//******************************/*$k=mysqldb::getdb();$k->cs=array("h"=>"127.0.0.1","u"=>"root","p"=>"","db"=>"mysql","pt"=>3306);$k->queryarr("select * from user;");$k->tab($k->arr);echo "<hr />";$k->querytab("select * from user;");*/?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.