2016-10-12 4 views
0

Guten Tag Bitte helfen Sie mir, ich versuche, eine MySQL-Tabelle mit einem JSON-POST zu aktualisieren. Die JSON-Ausgabe in eine Text-Datei in Ordnung, aber wenn ich versuche, und es mit der MySQL-Tabelle speichern liefert dann eine Fehlermeldung:Speichern JSON Decodieren zu MySQL, PHP

Undefined index: ptp.create

JSON gibt die Daten als:

{"ptp.create":["629","630"]} 

$jsonString = file_get_contents("php://input"); 
$myFile = "NewFile.txt"; 
file_put_contents($myFile,$jsonString); 

$data = json_decode($jsonString, true); 

foreach ($data as $row){ 
$PTP = $row['ptp.create']; 
$query_rsTable1 = "INSERT INTO test SET id = '$PTP'"; 
$rsTable1 = mysql_query($query_rsTable1, $int) or die(mysql_error()); 
} 

ich nicht sehr 100 bin % sicher in JSON noch, wenn Sie bitte helfen könnten.

+0

Die Abfrage sollte 'INSERT INTO test (Spalte1, Spalte2, ...) WERTE (Wert1, Wert2, ...)' sein. Hier ist mehr dazu: http://www.w3schools.com/php/php_mysql_insert.asp – iSS

+0

tun Sie diese Schritte, '1.Lesen der JSON-Datei Inhalt 2.Convert JSON-Objekt zu PHP assoziative Array3.Extrahieren Sie die Array-Werte4.Set JSON zur MySQL Datenbank mit PHP Code' – Karthi

+0

Stellen Sie sicher, dass Sie vorbereitete/parametrisierte Abfragen verwenden. Wie es gerade ist, entkommst du nichts, was zu Bugs und Sicherheitsproblemen führen wird. – Brad

Antwort

0

Ihre for Schleife hat sich bereits um die ptp.create für Sie gekümmert.

foreach ($data as $ptp){ 
    echo $ptp; // Will be 629, then 630 
} 

Wenn Sie tatsächlich in Ihre Datenbank einfügen, verwenden Sie vorbereitete/parametrisierte Abfragen mit PDO oder ähnlichem.