2013-02-06 68 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