有时候向mysql表中插入或更新数据库时,可能会涉及很多个字段,少量字段手写就行了,如果多了的话写起来比较麻烦。最近做系统想到了用可变变量,应对起来就比较简单了,但前提是数据库中的字段名和定义的变量名字要相同,或是有同样的命名规则也可以。
$search_array=array('fazhan','daozhan','bh','fahuoren','shouhuoren','fahuodizhi','shouhuodizhi'); //字段名 for ($search_i=0;$search_i<count($search_array);$search_i++){ $sql_1.=",".$search_array[$search_i]."='".${$search_array[$search_i]}."'"; } $sql="update wuliu_table set zhidandate='".$zhidandate."'".$sql_1." where id='".$id."' limit 1"; $mysqli->query($sql); //$sql_1就是动态生成的sql语句
同样插入数据也大同小异
for ($search_i=0;$search_i<count($search_array);$search_i++){ $sql_1.=",".$search_array[$search_i]; $sql_2.=",'".${$search_array[$search_i]}."'"; } $sql="insert into wuliu_info (zhidandate".$sql_1.") values ('".$zhidandate."'".$sql_2.") "; $mysqli->query($sql);
这样写省了好多重复代码。