【发布时间】:2018-12-18 20:05:42
【问题描述】:
当我对从 mysql 数据库获取的 json 数据进行编码时,我得到了这个:
[{"userid":"11","postid":"12"},{"userid":"13","postid":"12"},{"userid":"16","postid":"12"}]
我试图只获取这样的用户 ID:11, 13, 16。
解码 json 数据给我一个输出:Array。没有别的了。当我var_dump 这是我的结果:
array(3) {
[0]=> array(2) {
["userid"]=> string(2) "11"
["postid"]=> string(2) "12"
}
[1]=> array(2) {
["userid"]=> string(2) "13"
["postid"]=> string(2) "12"
}
[2]=> array(2) {
["userid"]=> string(2) "16"
["postid"]=> string(2) "12"
}
所以我知道有数据存在,只是由于某种原因没有显示。
这是我的查询的样子:
if(isset($_POST['postuserid'])){
$uid = $_POST['postuserid'];
$ssql = "SELECT * FROM foodid WHERE postid=$uid";
$rresult = mysqli_query($db,$ssql);
while ($lrow = mysqli_fetch_assoc($rresult)){
$ret[] = $lrow;
$postjson = json_encode($ret);
$decode_postid = json_decode($postjson, true);
$new_postid = $decode_postid;
}
var_dump($new_postid);
die($new_postid);
// die($new_postid['userid']); is what I need along with all data userid fetched.
}
当我对 json 数据进行编码时,这是否有效,但在我解码 json 数据时无效?
【问题讨论】:
-
$new_postid在 while 循环中被加载,但每次循环时你都写完了
标签: php mysql arrays json mysqli