2017-11-11 6 views
-1

Ich habe einige JSON-Daten müssen in die MySQL-Datenbank einfügen.Wenn ich dies versuche, speicherte es nicht in der Datenbank als gegebene Werte in JSON.Was kann das Problem sein?Wie JSON-Daten in Mysql-Datenbank einfügen

Hier ist mein Code

$data = file_get_contents($file); 
$records = json_decode($data, true); 

foreach($records as $item) { 
    $sql_data =("INSERT INTO data (day,amount,paid_by,friends) VALUES ('".$item['day']."', '".$item['amount']."', '".$item['paid_by']."', '".$item['friends']."')"); 
      mysqli_query($con, $sql_data); 
     } 
+1

Ich glaube, Sie sind ein Fan von SQL-Injektion. –

Antwort

1

Ihr Code, um SQL-Injection-Angriffe anfällig ist, versuchen mysqli prepared Statements

Das Problem in der Schleife zu verwenden, versuchen Sie es durch diese zu ersetzen:

foreach($records['data'] as $item) { 
    ... 
} 
+0

Jetzt fügt es Daten in die Tabelle.aber in Freunde Spalte Daten als Array.how gespeichert kann ich lösen – colombo

+0

Sie können einen anderen json_encode auf $ item ['Freunde'] 'und speichern Sie es als JSON-String – YouneL

+0

Oder Sie können konvertiere das freunde array in string mit Koma getrennt Gefällt mir: 'join (',', $ item ['freunde']);' – YouneL