在我們使用php去操作MySQl的時候,就像前面講的SQL語句分為,數據查詢語句(dql),數據操作語句(dml),還有數據資源語句等。
但是,我們用的最大的就是前兩者,查詢是數據庫操作的重中之重,而CRUD又是數據庫操作必不可少的,不管是學習什麼數據庫語言都是
如此,所以,我就在日常的學習過程中,針對這兩種最為重要的語句,把他們的每一步操作都封裝到類裡面,這樣,有利於代碼的重復利用
性,和代碼的簡潔性,把他們存在於一個外部文件的裡面,用的時候就直接引入該文件,非常方面,提高開發效率,不多說了,下面是封裝
的具體代碼,注:為表達直接清晰,有的數據時定好的數據,如數據庫等。
SqlTool.class.php
<?php class SqlTool{ private $conn; private $host="localhost"; private $user="root"; private $password="toor"; private $db="test"; function SqlTool(){ $this->conn=mysql_connect($this->host,$this->user,$this->password); if(!$this->conn){ die("對不起,連接數據庫失敗<br/>錯誤原因:".mysql_error()); } mysql_select_db($this->db,$this->conn);//選擇數據庫 mysql_query("set names utf8"); } public function execute_dql($sql){ //執行數據庫dql語句,即查詢操作 $res=mysql_query($sql) or die("查詢失敗,失敗原因".mysql_error()); return $res; } //在這裡就實現了對CRUD的完全封裝 public function execute_dml($sql){ $b=mysql_query($sql,$this->conn); if(!$b){ //return 0; //運行失敗 echo "對不起,操作失敗"; }else{ if(mysql_affected_rows($this->conn)>0){ //return 1; //運行成功 echo "操作成功!"; }else{ //return 2; //成功,但沒有影響行數 echo "操作成功,但是行數沒有受到影響"; } } mysql_close($this->conn);//關閉連接 } } ?>
UseSqlTool.php
<?php require_once "SqlTool.class.php";//引入SqlTool的類文件 /************************dml操作******************************/ /*//添加數據 $sql="insert into test1 (name,password,email,age) values('xuning_a',md5('78989'),'[email protected]',18)";//Sql語句 $SqlTool=new SqlTool(); $res=$SqlTool->execute_dml($sql); */ //刪除數據 /* $sql="delete from test1 where id = 21";//Sql語句 $SqlTool=new SqlTool(); $res=$SqlTool->execute_dml($sql); */ //修改數據 $sql="update test1 set age=100 where id=9";//Sql語句 $SqlTool=new SqlTool(); $res=$SqlTool->execute_dml($sql); /**********************dql操作*********************************/ /*//查詢操作 $sql="select * from test1"; $SqlTool=new SqlTool(); $res=$SqlTool->execute_dql($sql); //這一串是用戶提示: echo "用戶ID"." "."用戶名"." "."用戶密碼"." "."郵箱"." "."年齡"." "."<br/>"; while($row=mysql_fetch_row($res)){ //顯示所有的用戶數據 foreach($row as $key =>$val){ echo "$val"." "; } echo "<br/>"; } mysql_free_result($res); */ ?>UseSqlTool.php中引入SqlTool.class.php文件,然後把對象實例化,然後我們,要做的就是寫出SQL語句,然後調用它,我覺得SQL語句也可以實現封裝,但一想,這樣的話,代碼的自由度就不高了,所以,先對語句分類,然後寫出成員方法,而且,要說的是,這裡,可以有效的去保護數據,僅僅只有類內的元素才能夠去訪問數據,不僅僅做到了方便,而且做到了安全。