我的数组有一些值
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 数据库表中
mysql_query("INSERT INTO TABLE (sno, type, category)
VALUES ('json_encode($value)')");
这应该行得通吗?
或者我应该在插入数据库之前json_decode
吗?
最佳答案
json_encode(array)
返回一个 json 字符串,而 MySQL 插入的值应该是 (value1,value2,...)。 json_decode(json_string)
返回一个数组,implode
用“,”分隔数组对象。如果您唯一要做的就是将其插入数据库,则无需将其转换为 json。通常 json 用于在页面/服务器之间传递信息(例如 AJAX 调用)或将数组保存为数据库中的字符串
如果您获取的数据为 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)."')");
关于php - json_encode(array) 插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13747042/