为了账号安全,请及时绑定邮箱和手机立即绑定

我这么写PHP后台接口为什么只能返回数据库一条数据 我要的是返回跟uphonenumber相匹配的所有数据

我这么写PHP后台接口为什么只能返回数据库一条数据 我要的是返回跟uphonenumber相匹配的所有数据

PHP
慕村9548890 2019-03-18 15:30:25
<?php header("Content-Type:application/json;charset=UTF-8"); $uphonenumber = $_POST['phonenumber'];//post获得手机号码表单值 $json = ''; $data = array(); include('init.php');//链接数据库 //$sql = "SELECT * FROM yffice_project where uphonenumber = $uphonenumber"; $sql = "SELECT * FROM yffice_project where uphonenumber = $uphonenumber"; mysql_query("set names utf8"); $result = mysql_query($sql);//执行sql if($result){ //echo "查询成功"; while ($row = mysql_fetch_array($result)) { $data["uid"]=$row["uid"]; $data["pcontent"]=$row["pcontent"]; $data["src"]=explode(",",$row["ppic"]); $data["pdate"]=$row["pdate"]; $data["pweek"]=$row["pweek"]; $data["pweather"]=$row["pweather"]; } $json=json_encode($data); echo $json; }else{ echo "查询失败"; } mysql_close();//关闭数据库 ?>
查看完整描述

2 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

你的while循环里的赋值有问题,一直在重复为同一个键名赋值。
正确的应该是:

$data[] = [
    'uid'      => $row["uid"],
    'pcontent' => $row["pcontent"],
    'src'      => explode(",",$row["ppic"]),
    'pdate'    => $row["pdate"],
    'pweek'    => $row["pweek"],
    'pweather' => $row["pweather"]
];

这种形式;

查看完整回答
反对 回复 2019-03-18
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

循环写法有问题。你这样写,当前数据都会把之前的数据覆盖掉,最后只返回最后一条数据

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 489 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信