2014-01-16 68 views
0

我想在MySQL數據庫中使用下面的代碼來獲取json數據,但獲得像數組[0] [0],0.000等值可以有人請建議一個解決方案。無法在MySQL中插入數據從PHP腳本

變量中的值正確,因爲循環中的回顯在瀏覽器中顯示正確的值。

謝謝。

[編輯]

的 '添加' 的數據類型是VARCHAR,關於 'SN', 'IMM' 其int和其餘的是所有的兩倍。

[/編輯]

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

用'or 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']."');"; 

即使而不是做:

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

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