php $ _GET数组插入mysqli?

时间:2016-03-22 05:52:41

标签: php mysql arrays mysqli

我是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;
}

}

但当然会创建一堆行而不是一行带有一堆数据......

当我开始工作时,即使它只是在我当地的局域网上,也会加入健全检查。

1 个答案:

答案 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