为了简便数据库操作,将常用的操作按照面对对象的思想封装起来。
首先是创建一个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); ?>