
正文
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}






