php与数据库json
Ⅰ php转换成json数据格式是怎么转换的
其实就是把这3个结果并成一个数组,再转就是了x0dx0ax0dx0a例如,x0dx0a$res1=mysql_query($sql1);x0dx0ax0dx0a$res2=mysql_query($sql2);x0dx0ax0dx0a$res3=mysql_query($sql3);x0dx0ax0dx0a定义一个新的数组$a=array();x0dx0ax0dx0a将3个结果压入这个新的数组x0dx0aarray_push($a,$res1);x0dx0ax0dx0aarray_push($a,$res2);x0dx0ax0dx0aarray_push($a,$res3);x0dx0ax0dx0a最后转义输出x0dx0aechojson_encode($a);x0dx0ax0dx0aLZ遇到问题不要气馁呀
Ⅱ PHP序列化数据存储在数据库中使用json还是serialize好
1) 空间的比较
serialize在编码后大概是json的1.5倍。
原因:
serialize后字符串包含了子串的长度,这可能是速度方面的优化,但是测试结果不尽人意。
serialize有更加详细的类型区分,而json只有四种类型,并且是以简单的符号表示。
2)速度的比较
在较小数据的情况下, serialize比json快数量级。
在大数据量的情况下,json比serialize稍微差一点
3)处理对象
json无法处理对象方法等数据。
4)使用范围
在前后端交互一般都使用JSON,另外,目前JSON只支持UTF-8编码的数据。
序列化使用serialize,特别是对象的存储。这是其存在的意义。
与对象无关的数据存储可以使用json,如包含大量数字的数组等。
这篇博客概括满全面:http://blog.csdn.net/hguisu/article/details/7651730
Ⅲ php怎么接收json数据格式
PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!
此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据
查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:
$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。
$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。
Ⅳ php连接数据库后如何输出转换为json格式API,求详细解答,
<?php
$link=mysql_connect('localhost','root','root');
mysql_select_db('test',$link);
$sql="select*frombooks";
$result=mysql_query($sql);
//将结果集转为数组,每次取一行
while($row=mysql_fetch_assoc($result)){
$rows[]=$row;
}
echojson_encode($rows);
exit;
?>
Ⅳ php存入数据库 如何将json格式的数据直接存入mysql数据库
把json字符串存入数据库,如果数据库里面存储的字段是字符串类型或者text的话是可以直接存入的。
例如:
$sql="insertintotablename(fieldname)values('$jsondata')";
mysql_query($sql);
这样就好了。