使用mySQL查询填充HTML表单选择

Dag*_*Dag 0 php mysql

我一直在尝试运行一个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>
Run Code Online (Sandbox Code Playgroud)

注释:没有工作是指选择下拉列表为空的事实.我确实将PHP拉出表单并将其放入自己的name.php文件中以尝试运行它.它似乎工作.所以我在php中添加了echo语句来回显表单的开始和结束,以及初始选择行.这工作得非常好,没有任何问题,下拉的人数很少.回到上面的HTML表单,我在PHP中添加了一些其他的echo语句来输出一些调试语句.始终忽略第一个回声,它不会添加任何选择项.其他回显线只添加指定的文本,变量输出为变量名,而不是内容.所以$ name出现在选择下拉列表中.

Eri*_*rik 5

你需要在id和name周围加上单引号.那就是你需要替换它

$id = $row[id];
$name =$row[name];
Run Code Online (Sandbox Code Playgroud)

这样

$id = $row['id'];
$name =$row['name'];
Run Code Online (Sandbox Code Playgroud)

不知道DB_CONNECT中有什么,你的错误是什么,这是我最好的猜测是什么错.