2012-09-03 96 views
0

我正在嘗試編寫一個腳本,它基於我的數據庫中條目的id從sql服務器獲取數據。當我嘗試訪問該頁面時,使用與條目id的鏈接返回,就好像它不識別該ID一樣。以下是php代碼:試圖讓頁面填充數據庫中的數據

<?php 
    require('includes/config.inc.php'); 
    require_once(MYSQL); 
    $aid = FALSE; 
    if (isset($_GET['aid']) && filter_var($_GET['aid'], FILTER_VALIDATE_INT, array('min_range' => 1))) { 
      $aid = $_GET['aid']; 
      $q = "SELECT aircraft_id, aircraft_name AS name, aircraft_type AS type, tail_number AS tn FROM aircraft USING(aircraft_id) WHERE aircraft_id = $aid"; 
      $r = mysqli_query($dbc, $q); 
      if (!(mysqli_num_rows($r) > 0)) { 
      $aid = FALSE; 
      } 
    }// end isset tid 

    if ($aid) { 
     while ($acdata = mysqli_fetch_array($r, MYSQLI_ASSOC)){ 
      echo'<h2>'. $acdata['tail_number'] .'</h2>'; 
     } 
    } else { 
     echo '<p>This pages was accessed in error.</p>'; 
    } 
?> 

任何提示?

回答

1

嘗試到var_dump($q);之前​​檢查您的查詢,然後直接執行它通過phphmyadmin或在MySQL服務器端直接看看它是什麼回報。

更新:

使用var_dump($q);die();從傾倒後停止執行腳本。

+0

它應該輸出一些東西,因爲它只是給了我相同的錯誤。 – user1537210

+0

仍然沒有什麼,但同樣的錯誤參考 – user1537210

+0

以上是什麼意思'什麼'?您的腳本必須停止併爲您提供SQL查詢。 –

0

您正在使用您的查詢字段別名,所以你必須使用你的迴音:

echo'<h2>'. $acdata['tn'] .'</h2>'; 
+0

沒有不是它,我得到這個錯誤「這個頁面被錯誤地訪問」,不管$ acdata標籤是什麼 – user1537210

0

擺脫USING(aircraft_id)的,它會導致錯誤和您的查詢不執行。

"SELECT aircraft_id, aircraft_name AS name, aircraft_type AS type, tail_number AS tn FROM aircraft WHERE aircraft_id = $aid" 

我想這是從先前版本的查詢中剩餘的? Using (id)

FROM 
foo 
INNER JOIN bar ON foo.id = bar.id 

當待連接的表可用於快捷方式在其上具有相同名稱的列接合。寫得更短。

由於您未加入,您必須將其刪除。