素材牛VIP会员
PHP后端与前端交互
 xi***uX  分类:JavaScript  人气:833  回帖:3  发布于6年前 收藏

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);

?>

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv2 入门
随***@ 技术总监 6年前#1

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

Lv1 新人
wx***73 移动开发工程师 6年前#2

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

Lv3 码奴
65***14 PHP开发工程师 6年前#3

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

}

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取