thinkPHP query查询 漏洞!!

浏览:9837 发布日期:2016/01/11 分类:求助交流 关键字: tp thinktp thinkPHP query query查询
//表model
$table_syb = M(C('CREATE_JOB_SYB'));
//查询sql
$sql = "SELECT their_people AS people_type ,COUNT(their_people) AS count FROM go_job_syb WHERE apply_time>='$start_time' AND apply_time<='$end_time' GROUP BY their_people;";
//查询结果
$result_info = $table_syb->query($sql);


打印查询结果
array(2) { ["people_type"]=> string(1) "1" ["count"]=> string(2) "23" }


我要吐槽:为什么打印结果里面有个大括号,query查询的漏洞吗! 把我坑惨了!

补充:
用tp的
$a =array(
name=>'tom'
);
M('table')->where($a)->select();
将这种方式查询出结果以json方式返回到浏览器,浏览器是可以解析出来的。
M('table')->query('select id,name,age,sex from table where age>18');
这种方式查出来的结果以json方式返回到浏览器,浏览器就解析不出来,查了两个小时的原因,找到祸根,就是此大括号在作怪,用select查询就没有问题。
亲,你测试一下吧,思路我已经说了,照这思路去测。
用tp的
$a =array(
name=>'tom'
);
M('table')->where($a)->select();
将这种方式查询出结果以json方式返回到浏览器,浏览器是可以解析出来的。
M('table')->query('select id,name,age,sex from table where age>18');
这种方式查出来的结果以json方式返回到浏览器,浏览器就解析不出来,查了两个小时的原因,找到祸根,就是此大括号在作怪,用select查询就没有问题。


该问题已找到原因:
json数组解析是要有序数字索引的,不然解析的是对象。
最佳答案
评论( 相关
后面还有条评论,点击查看>>