2016-11-17 8 views
0

私のラップトップを使用してこのPHPコードを正常に実行しましたが、サーバーで試したときに失敗しました。406 xlsとして表をダウンロードする際に受け入れられないエラー

このファイルの目的は、テーブル(SQL)を.xls形式にダウンロードすることです。

<?php 
    session_start(); 

// Set name of excel doc 

    if(isset($_POST['t'])){ 
     $setExcelName = $_POST['t']; 
    }else{ 
     $setExcelName = 'Semua permohonan'; 
    } 
    if(isset($_SESSION['demo']) AND $_SESSION['demo'] = 'yes'){ 
     $demo = ' (DEMO)'; 
    }else{ 
     $demo = ''; 
    } 


    include'connect.php'; 


// Define header/field name 

    $sql = "SHOW COLUMNS FROM senaraipermohonan"; 
    $result = $conn->query($sql); 
    $setMainHeader = ''; 
    while($row = $result->fetch_assoc()){ 
     $rowname = ''; 
     $rowname = '"'.$row['Field'].'"'; 
     $setMainHeader .= $rowname . "\t"; 
    } 



// Set record in table 

    if(isset($_POST['q'])){ 
     $sql = $_POST['q']; 
    }else{ 
     $sql = "SELECT * FROM senaraipermohonan"; 
    } 
    $record = $conn->query($sql); 

    if($record->num_rows >0){ 
     $setData = ''; 
     while ($row = $record->fetch_row()) { 
      $rowData = ''; 
      foreach ($row as $value) { 
       $value = '"' . $value . '"' . "\t"; 
       $rowData .= $value; 
      } 

      $setData .= $rowData . "\n"; 
     } 
    }else{ 
     $setData = "Tiada data"; 
    } 

//This Header is used to make data download instead of display the data 
    header("Content-type: application/octet-stream"); 

    header("Content-Disposition: attachment; filename=Permohonan SMAN2017 - " . $setExcelName . $demo . ".xls"); 

    header("Pragma: no-cache"); 
    header("Expires: 0"); 

//It will print all the Table row as Excel file row with selected column name as header. 
    echo ucwords($setMainHeader)."\n".$setData."\n"; 


?> 

それは、これを返します。

Not Acceptable 

An appropriate representation of the requested resource /download_as_excel.php could not be found on this server. 

Additionally, a 406 Not Acceptable error was encountered while trying to use an ErrorDocument to handle the request. 

この問題の可能性reaasonsは何ですか?ありがとうございました。

答えて

0

エラー処理時にエラーが発生したようです。

だから、それには2つの事柄があります:エラー文書の処理に誤りを見つけ

  • を。
  • は、私はデータベースの認証情報(ようにユーザ名、パスワード、)私はそこにエラーを期待するために見える秒間元のエラー

を見つけます。私はあなたのラップトップとサーバー上のユーザー名、パスワードとdb名が同じではないと思います。

関連する問題