为什么输出:查询为空

时间:2015-03-16 16:57:10

标签: php mysql

mysql_select_db($database) or die( "Unable to select database");
if (isset($_GET['projectID']))
{

    $query = "SELECT taskID, name, startDate, endDate
              FROM Task
              WHERE projectID =" . $_GET['projectID'] . "
              ORDER BY taskID ASC";
} 

$result = mysql_query($query) or die( "Unable to execute query:".mysql_error());
echo "<!DOCTYPE html><html>";
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    echo "<tr>";
    echo "<td>";
    echo "<a href='q7.php?projectID=" . $_GET['projectID'] . '&taskID=' . $row['taskID'] . "'>";
    echo "</td>";
    echo "<td>".$row['name']."</td>";
    echo "<td>".$row['startDate']."</td>";
    echo "<td>".$row['endDate']."</td>";
    echo "</tr>";
}

我正在尝试输出projectID的信息,这是从另一个php获得的。但输出是:查询为空。 代码有什么问题? 我省略了无关紧要的代码。 请给我一些建议。

projectID未正确传入。以下是传递代码。你能帮我弄清楚这个bug吗?

echo "<form method='GET' action='q6.php'>";
echo "ProjectIDs and names:";
echo "<select>";


while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    echo "<option value='".$row['projectID']."' width='150'>";
    echo $row['projectID'].": ".$row['name'];
    echo "</option>";
}

echo "</select>";


echo "<input type='submit' name='submit' value='submit'>";
echo "</form>";

1 个答案:

答案 0 :(得分:0)

尝试在设置查询字符串后立即执行查询:

echo "<!DOCTYPE html><html>";

if (isset($_GET['projectID']))
{
    mysql_select_db($database) or die( "Unable to select database");
    $query = "SELECT taskID, name, startDate, endDate
              FROM Task
              WHERE projectID =" . $_GET['projectID'] . "
              ORDER BY taskID ASC";

    $result = mysql_query($query) or die( "Unable to execute query:".mysql_error());

    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
      echo "<tr>";
      echo "<td>";
      echo "<a href='q7.php?projectID=" . $_GET['projectID'] . '&taskID=' . $row['taskID'] . "'>";
      echo "</td>";
      echo "<td>".$row['name']."</td>";
      echo "<td>".$row['startDate']."</td>";
      echo "<td>".$row['endDate']."</td>";
      echo "</tr>";
    }
} else {
    echo '$_GET[\'projectID\'] is not set!';
    echo '$_GET = ';
    var_dump($_GET);

}

因此,当您生成表单时,您应该为您的选择设置一个名称:

echo '<select name = "projectID">';