2016-02-19 29 views
0

尽管有recent implementation of JSON datatype to MySQL,但在相关的PHP文档中找不到任何字。 我的问题是:PHP会自动将JSON列的单元格转换为实际值 - 数组或文字 - 还是只提供json编码的字符串。像:MySQL中的PHP和JSON数据类型

$sql_query = "SELECT JSON_ARRAY(1,2,3)"; 
$result = mysqli_query($sql_query); 
$value = mysqli_fetch_row($result)[0]; 
// what is a $value? Array(1,2,3) or a string "[1,2,3]" 
// do I have to use json_decode() to get an actual array here? 

(不要手头的MySQL 5.7,现在,所以不能检查它自己。)

回答

0

我觉得跟serializeunserialize你得到你想要的。 所以只需使用serialize存储所有值,并且可以通过反序列化来获取该值。 所以只需检查序列化和反序列化。

+0

仅仅为了存储而将数据转换为字符串不是问题。 关键是要利用最近在MySQL中实现的内置JSON功能。 – 1234ru

+0

个人我从来没有像这样使用,但它搜索它并获得一些有用的链接[链接1](https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html), [link2](https://dev.mysql.com/doc/refman/5.7/en/json.html) – utsav

+0

这根本不回答OP的问题。另外,从跨平台兼容性的角度来看,以PHP序列化格式保存数据是一个可怕的想法。 –