我需要根据表单中自动生成的列表将数据插入数据库。
所以我有这个列出了键和值,但我需要创建一个数组,然后我可以使用$ sql插入数据库。
foreach ($_POST as $key => $value) {
if($value != "") {
print $key.": ".$value . "<br>";
}
}
那么我有这个for $ sql insert
$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;
}
答案 0 :(得分:1)
未经测试,但这样的事情应该这样做:
$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将它们放在一起。