Forum Sensor.Community

Sensordaten in MySQL speichern, teilweise falsche Einträge

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

Lasse dir mal $json_ergebnis mit var_dump() ausgeben und poste es hier. Eigentlich sollten die Daten tiefer geschachtelt sein.

Hallo,

wo der Fehler lag kann ich nicht erklären, aber bei einer Neuinstallation hat alles, so wie es sein sollte, funktioniert.

Danke.

mfg
JB