如何将JSON编码的数组保存到MySQL

时间:2015-06-06 09:29:47

标签: php mysql mysqli

我无法将此数组保存到MySQL。

$arr = array("red","green","blue");

json_encode($arr);

$results = $db->query("UPDATE settings SET data='$arr' WHERE type='testing'");

数据库字段已更新,只显示"数组"

3 个答案:

答案 0 :(得分:1)

将其传递给变量as。你没有工作,因为你编码了数组但没有传递编码值

$arr = json_encode($arr);

$results = $db->query("UPDATE settings SET data='$arr' WHERE type='testing'");

答案 1 :(得分:0)

由于您已放弃json_encode()的值,请将此行json_encode($arr);更改为

以保存该值
$arr = json_encode($arr);

或者,如果您想保留$arr以供日后使用,请更改您的查询,

$results = $db->query("UPDATE settings SET data='{json_encode($arr)}' WHERE type='testing'");

答案 2 :(得分:0)

当您阅读json_encode的说明时,您可以看到句子:

  

返回包含值的JSON表示的字符串。

因此,您必须获取结果并将其首先保存在变量中。您可以使用相同的内容并覆盖它们:

$arr = array("red","green","blue");
$arr = json_encode($arr);
$results = $db->query("UPDATE settings SET data='$arr' WHERE type='testing'");

然后它应该工作。