Hallo,
ich will die Daten nach dem Auslesen in die Datenbank (mysql) schreiben. Dies gelingt mir auch zum teil. Die feinstaub-db beinhaltet die Spalten:
BMP_pressure
BMP_temperature
humidity
SDS_P1
SDS_P2
signalqual
temperature
timestamp
Es wird aber nur timestamp, SDS_P1 und 2, temperature mit den Werten gefüllt. Alle anderen werden mit einer “1” aufgefüllt. Rufe ich die data.json direkt auf werden alle Werte einwandfrei aufgezeigt. Anbei das php-script:
<?php
$json = file_get_contents('http://192.xxx.x.xxx/data.json');
$json_ergebnis=json_decode($json);
//$daten = json_decode($json);
//$sensoren = $daten["sensordatavalues"];
//$schluessel = array("SDS_P1", "SDS_P2", "temperature", "humidity", "signal");
$SDS_P1=$json_ergebnis->sensordatavalues[0]->value;
$SDS_P2=$json_ergebnis->sensordatavalues[1]->value;
$temperature=$json_ergebnis->sensordatavalues[2]->value;
$signalqual=$json_ergebnis->sensordatavalues[3]>value;
$humidity=$json_ergebnis->sensordatavalues[4]>value;
$BMP_temperature=$json_ergebnis->sensordatavalues[5]>value;
$BMP_pressure=$json_ergebnis->sensordatavalues[6]>value;
$servername = "localhost";
$username = "xx";
$password = "xxxxxxxx";
$dbname = "feinstaub";
// Check connection
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $connection->connect_error);
}
$sql = "INSERT INTO werte(SDS_P1, SDS_P2, temperature, humidity, signalqual, BMP_pressure, BMP_temperature) VALUES ($SDS_P1, $SDS_P2, $temperature, $humidity, $signal,$BMP_pressure, $BMP_temperature )
if ($conn->query($sql) === TRUE) {
echo "Eintrag war erfolgreich";
} else {
echo "Error: " . $sql . " " . $conn->error;
}
## $conn->close();
?>
Hat jemand eine Ahnung warum die mysql eine 1 schreibt. Habe die Spalten mit den verschiedensten db-Typen getestet. Wie geschrieben nur eine teilweise richtiges Speichern.
mfg und Danke vorab
Jimi