2013-02-06 70 views
0

我尋找例子來解決我的問題,但我很困惑。 如果是Ⅱ有一個JSON數組是這樣的:如何將JSON數組插入Mysql?

$json = '{"a":"test","b":"test2"},{"a":"test3","b":"test4"}'; 

//decode to get as php variable 
$obj = json_decode($json); 

我的問題是,當我嘗試在數據庫

mysql_query("INSERT INTO suspiciousactivity (ID,Notes) 
VALUES ('".$obj->{'a'}."','".$obj->{'b'}."')")or die(mysql_error()); 

我得到這個錯誤插入值:duplicate entry for key PRIMARY

哪有我從我的JsonArray插入多個值到我的數據庫?

+2

我看來,像你已經有了一個ID =測試 –

+0

所以,你正在使用的可疑活動結果的''suspiciousactivity項,並將其插入到你的數據庫不消毒?請更改您的代碼,停止使用mysql_函數。它們已被棄用,不再維護。您的代碼對於SQL注入非常不安全且易受攻擊。 – thaJeztah

回答

1

嘗試使用:

$json = '{"a":"test","b":"test2"},{"a":"test3","b":"test4"}'; 

//decode to get as php variable 
$arr = json_decode($json,true); //true to decode as a array not an object 

mysql_query("INSERT INTO suspiciousactivity (ID,Notes) 
VALUES ('".$arr[0]['a']."','".$arr[0]['b']."')")or die(mysql_error()); 
//use it as an array. 
+0

'obj'未定義? – h2ooooooo

+0

對不起,現在就試試。我改變'$ obj'爲'$ arr' – Ciberman

+0

我嘗試但回顯$ arr [0] ['a'];是空的 – user2033349