我是mysqli的新手,在php上也不是很好 我的目标是从我家周围的传感器收集数据,每个传感器都会将数据发送到我的php页面中 http://192.168.1.100/input.php?time=9999-12-31+23:59:59&sensor1=72.4
sensor1可以是任何东西,我确实为每个出现的新传感器创建了一个新列。时间将永远存在。有些传感器可能会发送多个数据块(?sensor1temp = 72.4& sensor1humidity = 37)。
我需要一种方法将所有$ _GET数据读入数组,然后将其写入数据库中的新行
我正在使用像
这样的东西foreach ($_GET as $key => $value){
$sql = "INSERT INTO $table ($key)
VALUES ('$value')";
if ($mysqli->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $mysqli->error;
}
}
但当然会创建一堆行而不是一行带有一堆数据......
当我开始工作时,即使它只是在我当地的局域网上,也会加入健全检查。答案 0 :(得分:2)
试试这个:
$query = "INSERT INTO ".$table;
$fields = array();
$values = array();
foreach($_GET as $key=>$val) {
$fields[] = "`$key`";
$values[] = "'".mysql_real_escape_string($val)."'";
}
$query .= " (".implode(", ", $fields).") VALUES (".implode(", ", $values).")";
if ($mysqli->query($sql) === TRUE)
/* Other code */
希望这有帮助。
和平!的xD