Php 使用mysqli的MySQL列的下拉列表

Php 使用mysqli的MySQL列的下拉列表,php,mysql,mysqli,Php,Mysql,Mysqli,我有一个名为Users的MySQL表,其中包含Name和NameID列 比如… 名称|名称ID 布拉德| bd 汤姆| ts 我正在尝试提取所有的名称值,并让它们使用mysqli填充一个下拉列表。我遇到了问题,希望这里有人能帮我 我是mysqli的新手,所以在这里有点挣扎。这是密码 php <?php $dbname = 'mydabase'; $dbuser = 'myuser'; $dbpass = 'mypass'; ?> 在index.php中 <?php i

我有一个名为
Users
的MySQL表,其中包含
Name
NameID

比如…
名称|名称ID
布拉德| bd
汤姆| ts

我正在尝试提取所有的
名称
值,并让它们使用mysqli填充一个下拉列表。我遇到了问题,希望这里有人能帮我

我是mysqli的新手,所以在这里有点挣扎。这是密码

php

<?php

$dbname = 'mydabase';
$dbuser = 'myuser';
$dbpass = 'mypass';

?>

在index.php中

<?php
include ("connect.php");

$db = new mysqli('localhost', $dbuser, $dbpass, $dbnam);
if (!$db) {
  exit('Connect Error (' . mysqli_connect_errno() . ') '
       . mysqli_connect_error());
} 
?>

    <div class="label">Select Name:</div>

    <select name="names">
    <option value = "">---Select---</option>
    <?php
    $queryusers = "SELECT `Name` FROM `Users` ";
    $db = mysqli_query($queryusers);
    while ( $d=mysqli_fetch_assoc($db)) {
      echo "<option value='{".$d['Name']."}'></option>";
    }
    ?>
      </select>  

选择名称:
---挑选---

您的选择没有被填充的原因是因为mysqli_查询没有获得提供的连接

更改:

$db = mysqli_query($queryusers);
进入:

此外,还可以在以下两者之间添加名称(否则您将得到一个没有文本的列表):

while($d=mysqli\u fetch\u assoc($db)){
回显“$d['Name']”;
}

希望这对你有帮助

如果您取消了对象的标记,那么应该继续使用mysqli作为对象

没有必要使用预先准备好的语句,但这并没有错

<?php
include ("connect.php");

$db = new mysqli('localhost', $dbuser, $dbpass, $dbnam);
?>
<div class="label">Select Name:</div>
<select name="names">
<option value = "">---Select---</option>
<?php
$stmt = $db->prepare("SELECT `Name` FROM `Users`");
$stmt->execute();
$stmt->bind_result($name);
while ($stmt->fetch()){
    echo "<option value='$name'></option>";
}
$stmt->close();
?>
</select> 

选择名称:
---挑选---

那么你的问题是什么?你有错误吗?它们是什么?你得到了什么结果?什么都没发生。下拉菜单有
--选择--
,没有其他选项。看起来几乎可以正常工作了。下拉列表中有空格,并且有一个警告:mysqli_stmt::bind_param()的参数计数错误。我写错了方法名,应该是bind_result。现在应该可以正常工作了。@user1373779不客气!是的,我也在想。我甚至测试了代码,可能是个错误。
while ( $d=mysqli_fetch_assoc($db)) {
  echo "<option value='{".$d['Name']."}'>".$d['Name']."</option>";
}
<?php
include ("connect.php");

$db = new mysqli('localhost', $dbuser, $dbpass, $dbnam);
?>
<div class="label">Select Name:</div>
<select name="names">
<option value = "">---Select---</option>
<?php
$stmt = $db->prepare("SELECT `Name` FROM `Users`");
$stmt->execute();
$stmt->bind_result($name);
while ($stmt->fetch()){
    echo "<option value='$name'></option>";
}
$stmt->close();
?>
</select>