0

我一直在尝试运行一个 mySQL 查询,该查询填充一个 HTML 表单,我在其中显示一个标签。我想填充 mySQL 表中的值和文本。这是我根据在不同网站上查找内容所尝试的方法,但没有成功

<select name="id">
   <?php

    require_once dirname(__FILE__) . '/db_connect.php';
    $db = new DB_CONNECT();

    $query="SELECT id, name FROM file order by name";
    $result=mysql_query($query) or die ("Query to get data from firsttable failed: " .mysql_error());

    while ($row = mysql_fetch_array($result)) {
    $id = $row[id];
    $name =$row[name];
      echo "<option value=\"$id\">
            $name
            </option>";
     }
   ?>
    </select>

评论:没有工作是指选择下拉列表为空的事实。我确实将 PHP 从表单中拉出并将其放入它自己的 name.php 文件中以尝试运行它。它似乎奏效了。所以我在 php 中添加了 echo 语句来回显表单的开头和结尾,以及初始选择行。这很好用,没有问题,下拉列表填充得很好。回到上面的 HTML 表单,我确实在 PHP 中添加了一些其他的 echo 语句来输出一些调试语句。第一个回声总是被忽略,它不添加任何选择项。其他回显行仅添加指定的文本,变量作为变量名输出,而不是内容。所以 $name 出现在选择下拉列表中。

4

1 回答 1

5

您需要在 id 和 name 周围加上单引号。那就是你需要更换这个

$id = $row[id];
$name =$row[name];

这样

$id = $row['id'];
$name =$row['name'];

不知道 DB_CONNECT 中有什么以及您的错误是什么,这是我对错误的最佳猜测。

于 2012-09-24T04:40:42.753 回答