$a=array(a=>1,b=>2,c=>3);
现在想执行数据库插入语句insert into admin(a,b,c) values(1,2,3);该怎么实现?
回复内容: 比如一个数组
$a=array(a=>1,b=>2,c=>3);
现在想执行数据库插入语句insert into admin(a,b,c) values(1,2,3);该怎么实现?
$keys;$value;$keys = implode(,, array_keys($a));$value = implode(,,array_values($a));$db->query(insert into admin(.$keys.) values(.$value.))
你的问题可以简化为:
$a=array(a=>1,b=>2,c=>3);
转化为 ('a','b','c') 和 (1,2,3)的过程,你想办法拼出这个字符串即可。方法有很多种,其中一种方法可以是:,
$a=array(a=>1,b=>2,c=>3);$values=implode(',',array_values($a));$keys='.implode(',',array_keys($a)).';$sql='insert into admin';$sql.='('.$keys.') ';$sql.='values ';$sql.='('.$values.') ';
写个方法
function insert($table,$data){ foreach($data as $k => $v){ $fields[] = $v; $keys[] = $k; } $values = ('.implode(',', $fields).'); $column = (`.implode(`,`, $keys).`); $sql = insert into {$table} {$column} values {$values}; $this->query($sql);}
