2017-01-03 1 views
0

Ich möchte einfügen in zweispaltige Datenbankdaten woid und json_data, ich kann nicht Wert json_data für Inset in Datenbank erhalten, Wie ist es?Geben Sie JSON Daten in PHP

$data_end = json_decode('[ 
    { 
    "woid": "2254271", 
    "json_data": [ 
     { 
     "code": "23", 
     "date": "Tue, 03 Jan 2017 03:30 PM IRST", 
     "temp": "68", 
     "text": "Breezy" 
     } 
    ] 
    }, 
    { 
    "woid": "2254271", 
    "json_data": [ 
     { 
     "code": "23", 
     "date": "Tue, 03 Jan 2017 03:30 PM IRST", 
     "temp": "68", 
     "text": "Breezy" 
     } 
    ] 
    } 
]'); 

foreach($data_end as $idx=>$val){ 
    $this->admin_model->UpdateData('weather', array('json_data' => $val->json_data), array('woid' => $val->woid)); 
} 

Und gib mir diesen Fehler:

A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
Filename: database/DB_driver.php
Line Number: 1524


Error Number: 1054
Unknown column 'Array' in 'field list'
UPDATE weather SET json_data = Array WHERE woid = '2254271'
Filename: models/model.php
Line Number: 39

+2

'Wer- $> json_data' werden Sie Array nicht String geben, so dass Sie nicht –

+0

einfügen Was kann ich tun ??? –

+0

tatsächlich hängt es ab, was Sie eigentlich von 'json_data' einfügen möchten? Oder möchten Sie JSON-codierte Daten einfügen? –

Antwort

1

Sie versuchen, ein Array in der Abfrage zu analysieren.

Sie könnten das Array vor dem Einfügen json_encodieren.

$this->admin_model->UpdateData('weather', array('json_data' => json_encode($val->json_data)), array('woid' => $val->woid)); 
0

$val->json_data ist ein Array, Sie haben es mit json_encode($val->json_data) bespannen ändern, bevor Sie Ihren db einfügen.

0

Es wird nicht funktionieren, weil Sie versuchen, PHP Array() in MySql Query zu verwenden, und es nicht erlaubt, json_encode() Methoden zu verwenden, um Daten zu speichern.

du so aktualisieren können -

$json_data = json_encode($val->json_data); 

$this->admin_model->UpdateData('weather', array('json_data' => $json_data), array('woid' => $val->woid));