将数组插入到数据库

在开发过程中,有这样的需求,需要将数组插入到数据库。

比如一个数组

$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");
$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);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,802评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • 往事(6) 医学院的学习生活严肃而紧张。叶真真从来都把学习当回事——自从她遇见肖子谦。她坚信肖子谦还会来看她,她不...
    冬妮娅阅读 1,051评论 1 0
  • 马上就要毕业了,回想大学这几年,真的只能用“恍然如梦”来形容。在这几年里我收获了友情,爱情,我拿过奖学金,...
    简心妖娆阅读 140评论 0 0
  • 研究生时,因为熟人拜托等一些因缘巧合,做过一段时间家教,带初中一男孩的数学物理,她父母给我的反应,孩子爱玩手机止不...
    苏庭溪阅读 740评论 0 1