在我们使用php去操作MySQl的时候,就像前面讲的SQL语句分为,数据查询语句(dql),数据操作语句(dml),还有数据资源语句等。
但是,我们用的最大的就是前两者,查询是数据库操作的重中之重,而CRUD又是数据库操作必不可少的,不管是学习什么数据库语言都是
如此,所以,我就在日常的学习过程中,针对这两种最为重要的语句,把他们的每一步操作都封装到类里面,这样,有利于代码的重复利用
性,和代码的简洁性,把他们存在于一个外部文件的里面,用的时候就直接引入该文件,非常方面,提高开发效率,不多说了,下面是封装
的具体代码,注:为表达直接清晰,有的数据时定好的数据,如数据库等。
SqlTool.class.php
conn=mysql_connect($this->host,$this->user,$this->password);
if(!$this->conn){
die("对不起,连接数据库失败
错误原因:".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
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"."?"."用户名"."????????"."用户密码"."????????????"."邮箱"."?????"."年龄"."???"."
";
while($row=mysql_fetch_row($res)){ //显示所有的用户数据
foreach($row as $key =>$val){
echo "$val"."???";
}
echo "
";
}
mysql_free_result($res);
*/
?>
UseSqlTool.php中引入SqlTool.class.php文件,然后把对象实例化,然后我们,要做的就是写出SQL语句,然后调用它,我觉得SQL语句也可以实现封装,但一想,这样的话,代码的自由度就不高了,所以,先对语句分类,然后写出成员方法,而且,要说的是,这里,可以有效的去保护数据,仅仅只有类内的元素才能够去访问数据,不仅仅做到了方便,而且做到了安全。