繁体   English   中英

将foreach作为数组提交给MySQL

[英]Submit foreach as array to MySQL

我需要根据表单自动生成的列表将数据插入数据库。

所以我列出了键和值,但是我需要创建一个数组,然后可以使用$ sql插入数据库。

foreach ($_POST as $key => $value) {
        if($value != "") {
            print $key.": ".$value . "<br>";
        }
}

所以我有这个用于$ sql插入

$sql = "INSERT INTO FDPU ($key) VALUES ('$value')";
if ($conn->query($sql) === TRUE) {
echo $key.'='.$value.'New record created successfully'.'<br />';
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

未经测试,但是应该执行以下操作:

$keys = array();
$values = array();

foreach ($_POST as $key => $value) {
        if($value != "") {
            $keys[] = $key;
            $values[] = "'" . $value . "'";
        }
}

$sql = "INSERT INTO FDPU (" . implode(',', $keys) . ") VALUES (" . implode(',', $values) . ")";

它存储不为空的变量的键和值,然后使用非常方便的函数implode将它们放在一起。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM