2016-03-22 12 views
0

私は私の目標は、自分の家の周りのセンサーからのデータを収集することになります PHPでmysqliのために、ブランドの新しい、そしてあまり良く午前、各センサは形で私のPHPページにデータを送信します http://192.168.1.100/input.php?time=9999-12-31+23:59:59&sensor1=72.4

SENSOR1は可能性があり何か、私はそれが表示されるそれぞれの新しいセンサーのための新しい列を作成しています。時間は常にそこにあります。いくつかのセンサは、2つ以上のデータのチャンクを送信してもよい(「sensor1temp = 72.4 & sensor1humidity = 37」)。

私は

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

} 

のようなものを使用したが、当然のことだろうた配列にすべての$ _GETデータを読み込み、その後、私のデータベースに新しい行に

それを書くための方法が必要ですたくさんのデータで1行ではなく複数の行を作成してください。

私のローカルLANにもかかわらず、正常に動作するようになってから、正しさチェックはもちろん追加されます。

答えて

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

+0

何らかの理由でこれが正しく値を渡していません – JJD

+0

エコー "$ query"を追加すると; $ 1を渡すと、INSERT INTO tbl( 'sensor1')VALUES( '')が得られますか?sensor1 = 658 – JJD

+0

これを渡すと、sensor1 = 658&sensor2 = 987&sensor3 = 8 INSERT INTO tbl(' sensor1 '、' sensor2'、 'sensor3')VALUES( ''、 ''、 '') – JJD

関連する問題