Php 导出xls文件中的查询仅在使用google Chrome时出现问题

Php 导出xls文件中的查询仅在使用google Chrome时出现问题,php,mysql,export-to-excel,export-to-csv,Php,Mysql,Export To Excel,Export To Csv,我有一个问题,这只是关于谷歌浏览器,在其他任何地方,它的工作都很好 我正在尝试将查询导出到xls文件中,但当我尝试使用Chrome进行导出时,会出现以下错误: Sql错误:您的Sql语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“FROM hostess”附近使用的正确语法 我的代码如下: <?php $username = $_POST['username']; $host = ''; $user = ''; $pass = ''; $db = ''; $table =

我有一个问题,这只是关于谷歌浏览器,在其他任何地方,它的工作都很好

我正在尝试将查询导出到xls文件中,但当我尝试使用Chrome进行导出时,会出现以下错误:

Sql错误:您的Sql语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“FROM hostess”附近使用的正确语法

我的代码如下:

<?php
$username = $_POST['username'];

$host = '';
$user = '';
$pass = '';
$db = '';
$table = 'hostess';
$file = 'Report_Hostess';

$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("Can not connect.");
mysql_query("SET NAMES UTF8");

$select = "SELECT ".$username." FROM hostess";

$export = mysql_query ( $select ) or die ( "Sql error : " . mysql_error( ) );

$fields = mysql_num_fields ( $export );

for ( $i = 0; $i < $fields; $i++ )
{
    $header .= mysql_field_name( $export , $i ) . "\t";
}

while( $row = mysql_fetch_row( $export ) )
{
    $line = '';
    foreach( $row as $value )
    {                                            
        if ( ( !isset( $value ) ) || ( $value == "" ) )
        {
            $value = "\t";
        }
        else
        {
            $value = str_replace( '"' , '""' , $value );
            $value = '"' . $value . '"' . "\t";
        }
        $line .= $value;
    }
    $data .= trim( $line ) . "\n";
}
$data = str_replace( "\r" , "" , $data );

if ( $data == "" )
{
    $data = "\n(0) Records Found!\n";                        
}
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment;filename=".$filename.".xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";

exit;
?>
$username只是一个字符串,其中包含id、名称、姓氏等分隔值,用于构建查询

你能告诉我为什么我在使用谷歌浏览器时会出现这个错误吗? 谢谢


这是结果:SELECT FROM hostessSql错误:您有一个错误 在SQL语法中;检查与您的MySQL对应的手册 在第行“FROM hostess”附近使用正确语法的服务器版本 一,

您的$username设置不正确

$username = $_POST['username'];
你确定是邮寄的吗


建议:按照@eggyal的建议执行…

您的代码易受SQL注入攻击。您真的应该使用,将变量作为参数传递到其中,而这些参数不会对SQL进行计算。如果您不知道我在说什么,或者如何修复它,请阅读的故事。另外,正如PHP手册中关于函数的说明:不鼓励使用此扩展。相反,应该使用or扩展名。有关更多信息,请参阅指南和。但是,要诊断您的特定问题,请执行以下操作:echo$select;在调用mysql\u查询之前,然后将结果粘贴到此处?这是结果:SELECT FROM hostessSql error:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解第1行“FROM hostess”附近使用的正确语法。我的意思是,请粘贴echo语句的结果,即$select的值。
$username = $_POST['username'];