将我的db值存储到下拉列表时出错

时间:2018-01-12 13:40:31

标签: php mysql

将数据库中的值存储到下拉列表中时遇到了很多麻烦。 代码不会带来任何错误,但它只是冻结......

代码

<div class="input-field col-md-12">

          <?php
              echo "<select name='pcID'>";
              $query = "SELECT benutzername FROM benutzer";
              $result = mysql_query($query);
              if(mysql_num_rows($query)>0){
              while($row = mysql_fetch_array($result)){
              echo "<option value=\"owner1\">" . $row['benutzername'] . "
             </option>";
             }
            }
            echo "</select>";
         ?>
        </div>

      </div>

我为我的问题找到了很多其他解决方案。但没有解决方案适合我。它只是冻结(在我的加载屏幕上)。我一删除PHP部分就解冻了......

有谁知道如何解决我的问题?

修改

是的,就像我说的那样。我根本没有在控制台中收到任何错误消息......

2 个答案:

答案 0 :(得分:1)

重构我的代码后,我使用PDO语句解决了它。

这就是我的解决方案现在的样子:

<div class="input-field col-md-12">

          <?php
              //query
              $sql = "SELECT benutzername FROM benutzer";
              $statement = $pdo->prepare($sql);
              $statement->execute();
              $users = $statement->fetchAll();

          ?>

          <select>
           <?php foreach ($users as $user): ?>
             <option value="<?= $user['id']; ?>"><?= 
             $user['benutzername'];  ?></option>
           <?php endforeach; ?>
         </select>
        </div>

答案 1 :(得分:0)

  1. 您需要通过选择适当的数据库来连接数据库。

    $con=mysql_connect("localhost","root","");
    mysql_select_db("databasename",$con);
    
  2. 下拉列表中的选项标记只显示值,不显示任何名称。我建议你做一些改动。

    echo"<option value=".$row["columnname"].">".$row["column2"]."</option>";