2017-08-10 208 views
-5

我正在構建一個儀表板,其中的數據是從數據庫動態收集的。用於獲取數據的文件在php中,並且正在使用ajax請求進行調用。但是當我運行腳本時,出現錯誤500,內部服務器錯誤。加載php腳本時出錯500內部服務器錯誤

我一直在尋找一個解決方案几天,但還沒有找到任何解決方案。

也許我在代碼中忽略了一些東西?

include('db/mysqli_con.php'); 

    // check if the selected year and the user key have been sent 
    if(!empty($_POST["selectYear"]) && !empty($_POST["token"])){ 

     // Define selected year, start date and end date variables for query 
     $year = $_POST["selectYear"]; 
     $startDate = new DateTime("".$year."-01-01"); 
     $endDate = new DateTime("".$year."-12-31"); 
     $token = $_POST["token"]; 
     $output = ''; 

     // For every day between start date and end date, define variable $day 
     for($day = $begin; $day <= $end; $day->modify('+1 day')) { 

     // save date as a string 
     $dayString = $day->format("Y-m-d"); 
     $newDate = "".$dayString." 00:00:00"; 


     list($y, $m, $d) = explode("-", $dayString); 
     // avoid octal values in output 
     if($m == 01) { 
      $newm = 1; 
     }elseif($m == 02) { 
      $newm = 2; 
     }elseif($m == 03) { 
      $newm = 3; 
     }elseif($m == 04) { 
      $newm = 4; 
     }elseif($m == 05) { 
      $newm = 5; 
     }elseif($m == 06) { 
      $newm = 6; 
     }elseif($m == 07) { 
      $newm = 7; 
     }elseif($m == 08) { 
      $newm = 8; 
     }elseif($m == 09) { 
      $newm = 9; 
     }else{ 
      $newm = $m; 
     } 

    // Check if day is registered in db 
    $query = mysqli_query($link, "SELECT * FROM lime_survey_669629 WHERE 
    token = '$token' AND 669629X3X15 = '$newDate'") or die(mysqli_error()); 

    // start array bracket 
    echo '['; 

    // define count variable 
    $c = mysqli_num_rows($query); 

    // check count 
    if($c == 0) { 

     // if count is 0, register day with value 0 
     $output = '['.$y.'-'.$newm.'-'.$d.',0],'; 
     echo $output; 

    }else{ 

     // if count is more than 0, output datasets 
     while($row = mysqli_fetch_array($query)) { 

      $oldValue = $row['669629X5X275']; 
      $modValue = explode("=", $oldValue); 
      $value = $modValue['2']; 

      // output dfatasets in a json array 
      $output = '['.$y.'-'.$newm.'-'.$d.','.$value.'],'; 
      echo $output; 


     } 


      } 

     // end array bracket                 
     echo ']'; 

     } 

    } 
+0

「* ..調用一個Ajax請求。但是,當我運行該腳本,我得到一個錯誤500內部服務器錯誤。*」。那麼,那個** Ajax Script **在哪裏? –

+0

檢查你的AJAX請求的響應,並查看你的錯誤日誌,看看發生了什麼。 –

+3

500表示服務器出現錯誤。檢查您的PHP日誌和Web服務器日誌,打開PHP錯誤報告等。*找到錯誤消息*,而不是隻看代碼並試圖猜測。 – David

回答

0

首先檢查其中的錯誤是 的error_reporting(E_ALL); ini_set('display_errors',1);

放在頭