mysql insert into 以数组的形式插入表

在项目中用php+mysql,需要插入数据,但是数据库表字段又很长,如果用常规的insert into table (c) values (‘dd’)的话,将是很长的sql语句,而且一不小心,就弄错了。所以一般都用数组来操作,好多框架都有专门的功能,例如thinkphp的表映射,可用

[php] 

  1. $result= $model->add($post) //$post为和表字段对应的数组

但是原生的怎么做,下面是我总结的,虽然繁琐了一点,但绝对可行;例:

[php] 

  1. $link = mysql_connect(‘localhost’,’root’,’pwd’);
  2. mysql_select_db(‘db’,$link);
  3. $data[‘a’] = $lpost[‘a’];
  4. $data[‘b’] = $lpost[‘b’];
  5. $data[‘c’] = $lpost[‘c’];
  6. $data[‘c’] = $lpost[‘c’];
  7. $data[‘d’] = $lpost[‘d’];
  8. $data[‘e’] = $lpost[‘e’];
  9. $data[‘f’] = $lpost[‘f’];
  10. $data[‘g’] = $lpost[‘g’];
  11. //a,b,c,d,e,f,g为表的字段
  12. foreach($data as $k=>$v){
  13.      $k1[] = ‘`’.$k.’`’;  //将字段作为一个数组;
  14.      $v1[] = ‘”‘.$v.'”‘;  //将插入的值作为一个数组;
  15. }
  16.    $strv.=implode(‘,’,$v1);
  17.    $strk.=implode(“,”,$k1);
  18. $sql = “insert into tb ($strk) values ($strv)”;
  19. mysql_query($sql);

目前,就这样做,还没有想更好的方法。

标签