我不知道为什么,它给了我这个错误,以及我的session_start();已经在第一线了。代码工作之前,但我改变了SQL查询,然后它给了我那个错误。
这是我的代码。
<?php
ini_set('display_errors', 1); error_reporting(E_ALL);
session_start();
include 'connect.php';
$_SESSION['username'];
$_SESSION['id'];
$userid = $_SESSION['id'];
//Using session username to pull out variables from Table
$result=mysqli_query($con,"SELECT ......);
while ($row1 = mysqli_fetch_assoc($result))
{
$output[] = $row1;
}
if (!empty($output)){
echo json_encode( $output );}
else{
echo json_encode( [] );
}
?>
答案 0 :(得分:2)
根据PHP手册,在调用session_start之前发生某种输出时会发生错误。如果您显示错误,尤其如此。这可能是文档顶部<?php
标记之前的空格,也可能是因为弃用代码发出警告,或者缺少变量或缺少;
或其他类型的错误性格。最好的办法是将任何错误记录到文件中,然后在执行后查看该文件。
尝试将session_start()
移至文档顶部,并检查代码中其他任何位置的任何其他文件或类或函数是否未调用session_start()
。
答案 1 :(得分:1)
"Cannot send session cache limiter - headers already sent"
“已发送标头”表示您的PHP脚本已经发送了HTTP标头,因此&gt;它现在无法对它们进行修改。
在调用session_start之前,请检查您是否发送了任何内容。更好的是,只需制作&gt; “session_start”你在PHP文件中做的第一件事(所以把它放在绝对的开头,&gt;在所有的HTML之前)。
希望它有所帮助。