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