"1","b"=>"2","c"=>"3");现在想执行数据库插入语句insert into admin(a,b,c) values(1,2,3);该怎么实现?"/> "1","b"=>"2","c"=>"3");现在想执行数据库插入语句insert into admin(a,b,c) values(1,2,3);该怎么实现?">

Heim >Backend-Entwicklung >PHP-Tutorial >php数组插入数据库这个功能该怎么实现

php数组插入数据库这个功能该怎么实现

WBOY
WBOYOriginal
2016-06-06 20:23:551667Durchsuche

比如一个数组
$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);该怎么实现?

<code>$keys;
$value;
$keys = implode(",", array_keys($a));
$value = implode(",",array_values($a));

$db->query("insert into admin(".$keys.") values(".$value.")")</code>

你的问题可以简化为:

<code>$a=array("a"=>"1","b"=>"2","c"=>"3");
</code>

转化为 ('a','b','c') 和 (1,2,3)的过程,你想办法拼出这个字符串即可。方法有很多种,其中一种方法可以是:,

<code>$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.') ';







</code>

写个方法

<code>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);
}</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn