PHP里封装的一个mysql insert函数,还有一个update函数
求高手指点,封装的函数是怎么思考的,就拿//updateimooc_adminsetusername='king'whereid=1这个update来举例子,他这么封装我...
求高手指点,封装的函数是怎么思考的,就拿//update imooc_admin set username='king' where id=1这个update来举例子,他这么封装我到时候在function update($table,$array,$where=null)里面加条件会运行吗?尤其是这句$str.=$sep.$key."='".$val."'";,实在搞不懂他想说设么意思,求高手赐教。谢谢
1.
function insert($table,$array){
$keys=join(",",array_keys($array));//php join函数!
$vals="'".join("','",array_values($array))."'";
$sql="insert {$table}($keys) values({$vals})";//Mysql insert函数
mysql_query($sql);
return mysql_insert_id();
2.
function update($table,$array,$where=null){
foreach($array as $key=>$val){
if($str==null){
$sep="";
}else{
$sep=",";
}
$str.=$sep.$key."='".$val."'";
}
$sql="update {$table} set {$str} ".($where==null?null:" where ".$where);
$result=mysql_query($sql);
//var_dump($result);
//var_dump(mysql_affected_rows());exit;
if($result){
return mysql_affected_rows();
}else{
return false;
}
} 展开
1.
function insert($table,$array){
$keys=join(",",array_keys($array));//php join函数!
$vals="'".join("','",array_values($array))."'";
$sql="insert {$table}($keys) values({$vals})";//Mysql insert函数
mysql_query($sql);
return mysql_insert_id();
2.
function update($table,$array,$where=null){
foreach($array as $key=>$val){
if($str==null){
$sep="";
}else{
$sep=",";
}
$str.=$sep.$key."='".$val."'";
}
$sql="update {$table} set {$str} ".($where==null?null:" where ".$where);
$result=mysql_query($sql);
//var_dump($result);
//var_dump(mysql_affected_rows());exit;
if($result){
return mysql_affected_rows();
}else{
return false;
}
} 展开
推荐于2018-05-07 · 知道合伙人软件行家
关注
展开全部
谈一下个人的几点认识,供参考:
封装,百度百科的解释:即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
简单点说,封装就是将某块功能抽取出来,写到一个函数里,供重复调用。封装,通常是指类函数、类的成员。
就你上面的代码,就个人理解,你完全可以将之理解为功能函数,这也算是一种“封装”(但貌似与面向对象思想里的类的封装有些区别)。
update 函数,其功能是对数据库CURD四种基本操作里 U 的实现,其原理是通过对传入的数组(据判断,貌似是用“字段名”为键名,修改的值为 Value),通过对数组遍历,进行组合,进一步得到 SQL 语句(update),并予以执行。
$str.=$sep.$key."='".$val."'";
$sep 是不同数据库字段名之间的分隔符,$key 是数据库字段名,$val 是修改的值。上面的代码通过多次循环之后,就会形成合乎 SQL 语法的 Update 数据修改语句,例如:
update table1 set LastDate='ddd',SssName='ddd' where UserID="aasdd"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询