无法修改标题信息-标题已由[php、mysql、csv]发送

无法修改标题信息-标题已由[php、mysql、csv]发送,php,mysql,csv,Php,Mysql,Csv,可能重复: 我在我的网站上发现了这些错误 警告:无法修改标题信息-标题已由第103行的/home/******/public_html/monday/tuffturp/createrep.php:7)中的/home/***/public_html/monday/tuffturp/createrep.php发送 警告:无法修改标题信息-标题已由第104行的/home/***/public\u html/monday/tuffturp/createrep.php:7)中的/home/***/pub

可能重复:

我在我的网站上发现了这些错误

警告:无法修改标题信息-标题已由第103行的/home/******/public_html/monday/tuffturp/createrep.php:7)中的/home/***/public_html/monday/tuffturp/createrep.php发送

警告:无法修改标题信息-标题已由第104行的/home/***/public\u html/monday/tuffturp/createrep.php:7)中的/home/***/public\u html/monday/tuffturp/createrep.php发送

警告:无法修改标题信息-标题已由第105行的/home/******/public_html/monday/tuffturp/createrep.php:7)中的/home/***/public_html/monday/tuffturp/createrep.php发送

警告:无法修改标题信息-标题已由第106行的/home/**/public_html/monday/tuffturp/createrep.php:7)中的/home/**/public_html/monday/tuffturp/createrep.php发送 查询失败,请重试

mysql\u fetch\u assoc():提供的参数在资源中不是有效的mysql结果

我已经检查了php标签上的空格,我尝试了不同的方法,但我找不到解决方案

php从第86行开始,到第134行结束

<?php
$server = 'localhost';
$username = '*****';
$password = '*****';
mysql_connect($server, $username, $password);
mysql_select_db('***_turfdb')
or die ("unable to connect to mysql");

    $reports = array(
    'all' => 'SELECT * FROM quotepage',
    'recent' => 'SELECT * FROM quotepage ORDER BY entered DESC LIMIT 20',
    'oldest' => 'SELECT * FROM quotepage ORDER BY entered ASC LIMIT 20'
    );
    if (!array_key_exists($_POST['report'], $reports) || !isset($_POST))
    {
    die('Error generating report. please try again later.');
    };
    header("content-type:text/csv; charset=utf-8");
    header('Content-Disposition:attachment;filename='.date('Y-m-d').'.csv');
    header("pragma: no-cache");
    header ("expires: 0");


/*if(isset($_POST) && !empty($_POST)) {
            if(mysql_query($query)) {
                echo "<script type=\"text/javascript\"> alert('All information entered was successfully will now show report.'); </script>";
            } else {
                echo "<script type=\"text/javascript\"> alert('There was an error please try again later.'); </script>";
                echo mysql_error();
            }
        }*/

    if(isset($_POST['header']))
    {
        $field = mysql_query('SHOW COLUMS FROM quotepage');
        $label = array();
        while($field = mysql_fetch_assoc($field));
    {
        $labels[] = $field ['Field'];
    };
         echo implode (',', $labels) . "\n";
    }
        $data = mysql_query($reports[$_POST['report']]);
        while($row = mysql_fetch_assoc($data));
        die ("query failed please try again");
    {
            echo implode(',', $row) . "\n";
    }
?>  

如错误消息所示,您在createrep.php的第7行有输出

在将任何输出(空白、HTML等)发送到浏览器之前,必须使用
header()


您注意到您提供的代码在第86行。我想您已经在上面的85行中输出了一些东西。

这里似乎没有所有的代码,因为这看起来不像100多行代码。我猜是PHP标记之外的空格或新行字符。我总是在PHP文件的底部去掉结束标记,因为如果结束PHP标记后有空格或新行,那么它将被解释为html输出发送到浏览器。去掉结束PHP标记不是一个错误,因此如果我是你,我会养成这个习惯。

查看右侧的“相关”部分。