2017-12-18 9 views
-1

異なるタブを表示する必要があります。最初のタブに問題のない最初のグラフが表示されますが、2番目のタブに2番目のグラフを表示する際に問題があります。私は2番目のタブをクリックすると、私はこれらのエラーを取得し続ける:警告:mysqli :: query():C: xampp htdocs palo graph.phpにmysqliをフェッチできませんでした

ここWarning: mysqli::query(): Couldn't fetch mysqli in C:\xampp\htdocs\palo\graph.php on line 248
Warning: main(): Couldn't fetch mysqli in C:\xampp\htdocs\palo\graph.php on line 248
Warning: main(): Couldn't fetch mysqli in C:\xampp\htdocs\palo\graph.php on line 248
Error code():

は私のコードです:

 <div id="c2017" class="tabcontent"> 
      <center> 
      <?php 
       $strQuery = "SELECT COUNT(*) as student_count, exam_year, result FROM studentsinfo WHERE exam_year = 2017 GROUP BY result ORDER BY student_count DESC"; 
       $result = $dbhandle->query($strQuery) or exit("Error code ({$dbhandle->errno}): {$dbhandle->error}"); 
       if ($result) { 
        $arrData = array(
         "chart" => array(
          "caption" => "TEST RESULTS GRAPH FOR SCHOOL YEAR 2017", 
          "showValues" => "0", 
          "theme" => "fint" 
         ) 
        ); 

        $arrData["data"] = array(); 
         while($row = mysqli_fetch_array($result)) { 
         array_push($arrData["data"], array(
          "label" => $row["result"], 
          "value" => $row["student_count"] 
          ) 
         ); 
         } 
        $jsonEncodedData = json_encode($arrData); 
        $columnChart = new FusionCharts("column2D", "myFirstChart" , 700, 400, "chart-1", "json", $jsonEncodedData); 
        $columnChart->render(); 
        $dbhandle->close(); 
       } 
      ?> 
      <br> 
      <div id="chart-1"></div> 
      </center> 
     </div> 

     <div id="c2018" class="tabcontent"> 
      <center> 
      <?php 
       $strQuery2 = "SELECT COUNT(*) as student_count, exam_year, result FROM studentsinfo WHERE exam_year = 2018 GROUP BY result ORDER BY student_count DESC"; 
       $result2 = $dbhandle->query($strQuery2) or exit("Error code ({$dbhandle->errno}): {$dbhandle->error}"); 
       if ($result2) { 
        $arrData2 = array(
         "chart" => array(
          "caption" => "TEST RESULTS GRAPH FOR SCHOOL YEAR 2018", 
          "showValues" => "0", 
          "theme" => "fint" 
         ) 
        ); 

        $arrData2["data"] = array(); 

         while($row2 = mysqli_fetch_array($result2)) { 
         array_push($arrData2["data"], array(
          "label" => $row2["result"], 
          "value" => $row2["student_count"] 
          ) 
         ); 
         } 

        $jsonEncodedData2 = json_encode($arrData2); 
        $columnChart2 = new FusionCharts("column2D", "mySecondChart" , 700, 400, "chart-2", "json", $jsonEncodedData2); 
        $columnChart2->render(); 
        $dbhandle->close(); 
       } 
      ?> 
      <br> 
      <div id="chart-2"></div> 
      </center> 
     </div> 

エラーがどこかにありますin:

$strQuery2 = "SELECT COUNT(*) as student_count, exam_year, result FROM studentsinfo WHERE exam_year = 2018 GROUP BY result ORDER BY student_count DESC"; 
$result2 = $dbhandle->query($strQuery2) or exit("Error code ({$dbhandle->errno}): {$dbhandle->error}"); 

私はまだこのことを初めて知っているので、エラーの意味は分かりません。誰かがこの問題を眺めてコードを修正できるように願っています。どうもありがとうございます!

答えて

0

まあ、最初のチャートの後に$dbhandleを閉じると、それとmysqli接続は2番目のクエリで利用できません。

すべてのクエリが完了するまで開いたままにします。したがって、最後のクエリの後にのみ$dbhandle->close();を使用してください。

+0

今、私は知っています。どうもありがとうございます!! – Dza

関連する問題