PHP后端与前端交互

新手上路,请多包涵

php与数据库建立连接后sql语句查询的结果无法被传递到数组中去,输出总是为[],也不报错。跪求大神解答。
代码如下:
<?php

header("Content-type:application/json;charset=utf-8");//数据格式为json
// 连接数据库
require_once('database.php');
 if ($link) {
    //新闻类型切换
    if($_GET['newstype']){
        $newstype=$_GET['newstype'];
        //echo $newstype;
        $sql="SELECT * FROM `news` WHERE `newstype` = '{$newstype}'";
        mysqli_query($link,"SET NAMES utf8");
        $result=mysqli_query($link,$sql);
        $senddata=array();
        while ($row=mysqli_fetch_assoc($result)) {//这里的push数据需要和数据库内部的序列一致
            array_push($senddata, array(
                'id'=>$row['id'],
                'newstype'=>$row['newsType'],
                'newstitle'=>$row['newsTitle'],
                'newsimg'=>$row['newsimg'],
                'newssrc'=>$row['newsSrc'],
                'newstime'=>$row['newsTime']
            ));
        }
        //print_r($senddata);
    echo json_encode($senddata);//将数据发送到前端
    }else{
        $sql='SELECT * FROM news';
        mysqli_query($link,"SET NAMES utf8");
        $result=mysqli_query($link,$sql);
        $senddata=array();
        while ($row=mysqli_fetch_assoc($result)) {
            //这里的push数据需要和数据库内部的序列一致
            array_push($senddata, array(
                'id'=>$row['id'],
                'newstype'=>$row['newsType'],
                'newstitle'=>$row['newsTitle'],
                'newsimg'=>$row['newsimg'],
                'newssrc'=>$row['newsSrc'],
                'newstime'=>$row['newsTime'],
            ));
        }
        echo json_encode($senddata);//将数据放松到前端
    }
}else{
    echo json_encode(array('连接信息' => '失败'));
}
mysqli_close($link);

?>

阅读 5k
3 个回答

这个你自己断点调式起来更快,就代码而已,没看出什么致命问题。
建议,先从 $link > $_GET['newstype'] 。 一步一步打印吧

//新闻类型切换
if(isset($_GET['newstype']) && !empty($_GET['newstype'])){

}

新手上路,请多包涵

clipboard.png

array_push这个函数的问题,你要存入的是一个二维数组,按照上图修改应该就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题