php-自动生成sql语句
前两天学习到的知识,挺有用的,因此这里做个分享
function AutoCreateSql($tab,$dataarr,$mode='insert',$where=' 1 and 1 limit 1'){ //形如 insert into test(t1,t2) values('v1','v2') update test set t1='v1',t2='v2' where id = 1 //delete 语句的参数 应该 是 表 where 条件 所以可以另写一个函数 //因为查询语句样式较多 怎样写还在思考中 若是有朋友已经会了请指点下小弟 言而总之 就是 没写出来,目前只有这两种语句 //对 $dataarr 数组的说明 这是构造的一个特殊的数组 其键值就是表中的字段名 其元素值就是表中的字段对应的值 if(!is_arr($data_arr)){ return false; } if($mode == 'update'){ $sql = 'update '.$tab.' set '; foreach($dataarr as $k=>$v){ $sql.=$k.'='. ".".$v".".','; } $sql = rtrim($sql,','); //去掉最右边的, return $sql; } $sql ='insert into '.$tab; $ziduan = implode(",",array_keys($dataarr));//取得所有的键值并以,拼成字符串---这样做符合insert的写法 $sql .= '( '.$ziduan.' ) '; $ziduanval = implode("','",array_values($dataarr));//取得所有的键值并以','拼成字符串---这样做符合insert的写法 $sql .= ' values ( \' '.$ziduanval.' \') '; return $sql }
有耕耘、有搬运、共学习