2014-01-16 3 views
0

Я пытаюсь вставить данные json в базу данных MySQL, используя код ниже, но получая такие значения, как Array [0] [0], 0.000 и т. Д., Кто-то может предложить решение.Невозможно вставить данные в MySQL из PHP-скрипта

Значения в переменных правильны, так как эхо-сигнал отображает правильные значения в браузере.

Спасибо.

[EDIT]

Тип данных 'добавить' является VARCHAR, для 'SN', 'IMM' его ИНТ и остальное все в два раза.

[/ EDIT]

for($x=0; $x<$totaladdress; $x++) 
{ 
echo $x; 
echo "<br>add="; 
echo $json_a[report][$x][0]; 


$sql = "INSERT INTO `report`.`tempmain` (`SN`, `add`, `last`,`imm`, `lastH`, `pa`, `unex`, `meg`, `bi`, `re`) VALUES (NULL, '$json_a[report][$x][0]','$json_a[report][$x][1][last]', '$json_a[report][$x][1][imm]', '$json_a[report][$x][1][lastH]', '$json_a[report][$x][1][pa]', '$json_a[report][$x][1][unex]', '$json_a[report][$x][1][meg]', '$json_a[report][$x][1][bi]', '$json_a[report][$x][1][re]');"; 
$result=mysql_query($sql); 
} 
+0

Попробовать эхо сгенерированный $ SQL. может помочь вам найти проблему и помочь нам выяснить, что происходит – Askanison4

+0

Проверить ошибку с помощью 'или die (mysql_error());'. – Rikesh

+1

укажите ключи массива, где ключ массива - строка. '$ json_a [report] [$ x] [1] [last]' должен стать '' ". $ json_a ['report'] [$ x] [1] ['last']." 'например – Dave

ответ

0
$sql = "INSERT INTO `report`.`tempmain` (`SN`, `add`, `last`,`imm`, `lastH`, `pa`, `unex`, `meg`, `bi`, `re`) VALUES (NULL, '$json_a[report][$x][0]','$json_a[report][$x][1][last]', '$json_a[report][$x][1][imm]', '$json_a[report][$x][1][lastH]', '$json_a[report][$x][1][pa]', '$json_a[report][$x][1][unex]', '$json_a[report][$x][1][meg]', '$json_a[report][$x][1][bi]', '$json_a[report][$x][1][re]');"; 

вставляет $json_a как массив и не интерпретируя остальные. Попыться:

$sql = "INSERT INTO `report`.`tempmain` (`SN`, `add`, `last`,`imm`, `lastH`, `pa`, `unex`, `meg`, `bi`, `re`) VALUES (NULL, '".$json_a['report'][$x][0]."','".$json_a['report'][$x][1]['last']."', '".$json_a['report'][$x][1]['imm']."', '".$json_a['report'][$x][1]['lastH']."', '".$json_a['report'][$x][1]['pa']."', '".$json_a['report'][$x][1]['unex']."', '".$json_a['report'][$x][1]['meg']."', '".$json_a['report'][$x][1]['bi']."', '".$json_a['report'][$x][1]['re']."');"; 

I.e. а не делать:

$sql = "some sql $json_a[report][$x][1][pa] other sql" 

сделать

$sql = "some sql ".$json_a['report'][$x][1]['pa'] ." other sql"; 
Смежные вопросы