Php 试图从数据库获取用于填充数据的页面

Php 试图从数据库获取用于填充数据的页面,php,mysql,Php,Mysql,我正在尝试编写一个脚本,根据数据库中条目的id从sql server获取数据。当我尝试使用带有条目的id的链接访问页面时,它会返回,好像它不识别id一样。下面是php代码: <?php require('includes/config.inc.php'); require_once(MYSQL); $aid = FALSE; if (isset($_GET['aid']) && filter_var($_GET['aid'], FILTER_

我正在尝试编写一个脚本,根据数据库中条目的id从sql server获取数据。当我尝试使用带有条目的
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>';
    }
?>

有什么提示吗?

尝试
var\u dump($q)
before
$r=mysqli\u查询($dbc,$q)
检查您的查询,然后通过phmyadmin或直接在MySQL服务器终端执行它,看看它返回什么

更新:


使用
var\u dump($q);模具()
在转储后停止执行脚本。

您在查询中使用了字段别名,因此必须在回送中使用该别名来:

echo'<h2>'. $acdata['tn'] .'</h2>';
echo“”$acdata['tn'].';
使用(aircraft\u id)摆脱
,它会导致错误,并且您的查询不会执行

"SELECT aircraft_id, aircraft_name AS name, aircraft_type AS type, tail_number AS tn FROM aircraft WHERE aircraft_id = $aid"
我猜这是以前版本查询的遗留问题<代码>使用(id)

FROM
foo
INNER JOIN bar ON foo.id = bar.id
当将要联接的表联接到具有相同名称的列上时,可以使用它。只是写得短一点


由于您没有加入,您必须将其删除。

不,不是这样,我收到了这个错误“此页面被错误访问”。无论$acdata标记是什么,它是否应该输出一些内容,因为它只会给我相同的错误。这意味着什么?您的脚本必须停止并向您提供SQL查询。但没有发生这种情况,它只是向我提供了错误,该页面被错误访问。是附加到else语句“该页面被错误访问”的错误。因此,您的错误是在代码中,而不是在SQL中?这意味着程序流不会在您的第一个
if(isset($\u GET['aid'])&&……
语句中“转到”。如果代码转到那里,它将为您提供SQL查询。让它转到那里。