foreach数组为key => value ..在一行中将每个列名称中的值作为数组键插入

时间:2017-01-22 02:13:27

标签: php mysql arrays

foreach ($mysql_field_array as $key => $value) {
    $query   = "INSERT INTO mytable ($key) VALUES ('$value')";
    mysql_query($query);
}

mysql_field_array

Array
(
    [bransh] => test@fb.com
    [course] => <test lead: dummy data for full_name>
    [mobile] => <test lead: dummy data for phone_number>
)

这会成功地将值添加到每列但是多行 like this image

我想将它们全部添加到一行中。

1 个答案:

答案 0 :(得分:0)

您需要在循环中构建查询部分,然后将它们放在一起:

$keys = '';
$values = '';
foreach ($mysql_field_array as $key => $value) {
    $keys = $key.',';
    $values = "'".$value."',";
}
$keys = rtrim($keys, ',');
$values = rtrim($values, ',');
$query = "INSERT INTO mytable ($keys) VALUES ($values)";

然后运行您的查询,最好使用mysqli_函数而不是已弃用的mysql_函数:

mysqli_query ($link, $query);

其中$link是你的mysqli连接。