為了簡便數據庫操作,將常用的操作按照面對對象的思想封裝起來。
首先是創建一個MysqlTool的工具類,SqlTool.class.php。這個類中封裝了dql(查詢)與dml(增,刪,改)操作。dql語句得到的是一個詳細的結果,而dml則得到的是一個布爾值。
<?php class SqlTool{ private $conn; private $host="localhost"; private $user="root"; private $password="root"; private $db="test"; function SqlTool(){ $this->conn=mysql_connect($this->host,$this->user,$this->password); if(!$this->conn){ die("數據庫連接失敗".mysql_error()); } mysql_select_db($this->db,$this->conn); } function execute_dql($sql){ $res=mysql_query($sql) or die("查詢失敗".mysql_error()); return $res; } //完成update,delete,insert function execute_dml($sql){ $b=mysql_query($sql,$this->conn); if(!$b){ return 0;//失敗 }else{ if(mysql_affected_rows($this->conn)>0){ return 1;//成功 }else{ return 2; } } } }
之后,再在另一個操作文件中進行操作。
<?php //——————使用封裝的方法完成添加、更新———————————— require_once "SqlTool.class.php"; //dml添加操作 $sql1="insert into user1 (password,name,age) values(md5('12345'),'肉祖爺',118)"; $sqlTool=new SqlTool(); $res=$sqlTool->execute_dml($sql1); if($res==0){ echo "失敗添加"; }else if($res==1){ echo "成功添加"."</br>"; }else if($res==2){ echo "添加沒有行數影響"; } //dml更新操作 $sql3="update user1 set name='肉小弟' where name='肉鴿'"; $res3=$sqlTool->execute_dml($sql3); if($res3==0){ echo "失敗更新"; }else if($res3==1){ echo "成功更新"; }else if($res3==2){ echo "更新沒有行數影響"."</br>"; } //dml刪除操作 $sql4="delete from user1 where id>9"; $res4=$sqlTool->execute_dml($sql4); if($res4==0){ echo "失敗刪除"."</br>"; }else if($res4==1){ echo "成功刪除"."</br>"; }else if($res4==2){ echo "刪除沒有行數影響"."</br>"; } //————————完成查詢—————————————— //dql查詢操作 $sql2="select * from user1"; $res2=$sqlTool->execute_dql($sql2); while($row=mysql_fetch_row($res2)){ foreach($row as $key=>$val){ echo "--$val"; } echo "</br>"; } mysql_free_result($res2); ?>
