ich versuche jetzt die Daten die ich aus einer Abfrage der API bei Ecowitt erhalte regelmäßig in eine eigene Datenbank zu schreiben:
Code: Alles auswählen
<?php
#Datenbank
$pdo = new PDO('mysql:host=xxx.xxx.xxx.xxx:3304;dbname=dbxxxxxx_xxxx', 'dbuser', 'dbpasswort');
#JSON-Datei
$url       = "https://api.ecowitt.net/api/v3/device/.....
$json      = file_get_contents($url); 
$json_data = json_decode($json, true);
#Werte ermitteln
$temp  = $json_data["data"]["outdoor"]["temperature"]["value"]; 
$wind  = $json_data["data"]["wind"]["wind_speed"]["value"];  
$dir   = $json_data["data"]["wind"]["wind_direction"]["value"];  
$gust  = $json_data["data"]["wind"]["wind_gust"]["value"];  
$pres  = $json_data["data"]["pressure"]["relative"]["value"];  
$humi  = $json_data["data"]["outdoor"]["humidity"]["value"]; 
$solar = $json_data["data"]["solar_and_uvi"]["solar"]["value"]; 
$uvi   = $json_data["data"]["solar_and_uvi"]["uvi"]["value"]; 
$rain  = $json_data["data"]["rainfall"]["hourly"]["value"];   
#Datum für Datenbank vorbereiten
$heute = getdate();
$year     = $heute["year"];
$month    = $heute["month"];
$day      = $heute["mday"];
$wday     = $heute["wday"];
#In Datenbank schreiben
$statement = $pdo->prepare("INSERT INTO Wetterwerte (DAY, MONTH, YEAR, WEEKDAY, TEMP, HUMI, PRES, SOLAR, UVI, RAIN, WIND, GUST, DIR) 
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$statement->execute(array($day, $month, $year, wday, $temp, $humi, $pres, $solar, $uvi, $rain, $wind, $gust, $dir)); 
?> Leider bin ich kein PHP-Experte - vielleicht sieht hier jemand warum das nicht klappt?
Die Variablen sind alle gefüllt, die Datenbank ist angelegt, der DB-User und das DB-Passwort stimmen.
Grüße
Mathias
