我的数组有一些值

  0 => '1'
  1 => 'moisturizer'
  2 => 'skincare'

我正在尝试将该数组转换为字符串,我当前正在使用json_encode
$value = array_shift( $val_ary ); //val_ary is that array
echo json_encode($value); // This will echo my data like

["1","moisturizer","skincare"]

稍后,我想在mysql db表中插入这些值
mysql_query("INSERT INTO TABLE (sno, type, category)
VALUES ('json_encode($value)')");

这行吗?
还是在插入数据库之前json_decode

最佳答案

json_encode(array)返回一个json字符串,而MySQL insert的值应该是(value1,value2,…)。json_decode(json_string)返回一个数组,并用“,”分隔数组对象粘合数组块。如果您所做的唯一事情是将其插入到数据库中,则无需将其转换为json。通常json用于在页面/服务器之间传递信息(例如AJAX调用)或将数组保存为DB中的字符串
如果数据是json格式的:

$value = json_encode(array(value1,value2,...))


mysql_query("INSERT INTO TABLE (sno, type, category)
    VALUES ('".implode(",",json_decode($value))."')");

如果以数组形式获取数据:
$value = array(value1,value2,...)


mysql_query("INSERT INTO TABLE (sno, type, category)
    VALUES ('".implode(",",$value)."')");

10-05 18:09
查看更多