当我从表中获取所有值以创建Json格式化字符串时,我在php响应中也得到了索引.如何避免它?
我的Php计划
<?php
include 'configa.php';
$sql1 = mysql_query("SELECT * FROM `message_store_push`") or die(mysql_error());
$c = mysql_num_rows($sql1);
$i=0;
while($sql2 = mysql_fetch_array($sql1)){
$arrDet['AddressDetails']['details'][] = $sql2;
}
if($c>0){
$arrDet['Details']['status'] = "success";
} else {
$arrDet['Details']['status'] = "No data";
}
echo json_encode($arrDet);
?>
Run Code Online (Sandbox Code Playgroud)
而Respose则是
{
"AddressDetails":{
"details":[
{
"0":"1",
"key_id":"1",
"1":"2016-01-27 04:20:52",
"key_time":"2016-01-27 04:20:52",
"2":"HI",
"key_message":"HI"
}
]
},
"Details":{
"status":"success"
}
}
Run Code Online (Sandbox Code Playgroud)
但是我需要
{
"AddressDetails":{
"details":[
{
"key_id":"1",
"key_time":"2016-01-27 04:20:52",
"key_message":"HI"
}
]
},
"Details":{
"status":"success"
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点
你需要使用mysql_fetch_assoc
而不是mysql_fetch_array
这个
while($sql2 = mysql_fetch_array($sql1)){
$arrDet['AddressDetails']['details'][] = $sql2;
}
Run Code Online (Sandbox Code Playgroud)
应该
while($sql2 = mysql_fetch_assoc($sql1)){
$arrDet['AddressDetails']['details'][] = $sql2;
}
Run Code Online (Sandbox Code Playgroud)
另请注意,从PHP 7中删除了mysql_*函数,您可以开始使用mysqli或PDO.