从phpmyadmin创建一个已填充的下拉列表


creating a filled drop down list from phpmyadmin

我需要创建一个填充的下拉列表,该列表链接到phpmyadmin中名为"dog"的表。我需要一个用户能够从列表中选择一只狗,然后按搜索,结果就会显示出来。所有信息都存储在phpmyadmin中的表中。到目前为止,我已经做到了:它不起作用——它只是一个空的下拉列表,什么也不做。请帮忙。

<?php
   // set up connection parameters
$dbHost         = 'hostnamegoeshere';
$databaseName   = 'databasenamehere';
$username       = 'usernamehere';
$password       = 'passwordhere';
// make the database connection
$db = new PDO("mysql:host=$dbHost;dbname=$databaseName;charset=utf8","$username", "$password");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   // enable error handling
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);           // turn off emulation mode
?>
//Return an error if bad connection
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ')'
        .$mysqli->connect_error);
}               
//query database for results
$query = $mysqli->query("SELECT * FROM 'dog'");         
?>
<h3> Search dogs</h3>
<select>
<?php
$stmt = $mysqli->prepare($query);
 $stmt->execute();
$res = $stmt->get_result();
while($dropdown = $res->fetch_array(MYSQLI_ASSOC)) {
echo '<option value="' . $dropdown['dog'] . '"></option>';} ?>
</select>

我将非常感谢

的任何帮助

使用此

$res = $stmt->get_result();
$res =$res->fetch_array(MYSQLI_ASSOC)
foreach($res as $a){
echo '<option value="' . $a['dog'] . '">'. $a['dog'] .'</option>';} ?>
}

所在地

$res = $stmt->get_result();
while($dropdown = $res->fetch_array(MYSQLI_ASSOC)) {
echo '<option value="' . $dropdown['dog'] . '"></option>';} ?>

代码中的问题数

1) 换行引号表单名称(SELECT * FROM 'dog')引号

2) 不要同时使用prepare和query。($mysqli->query,$mysqli->prepare

3) 将文本添加到您的选项(<option value="value"></option>

4) 您正在将mysqli与pdo 混合

你的代码将是

创建与mysqli 的连接

$mysqli=mysqli_connect($dbHost,$username,$password,$databaseName);
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ')'
    .$mysqli->connect_error);
}

<h3> Search dogs</h3>
<select>
    <?php
    $stmt = $mysqli->query("SELECT * FROM dog");// wrap off and use only query to run
    $stmt->execute();
    $res = $stmt->get_result();
    while ($dropdown = $res->fetch_array(MYSQLI_ASSOC)) {
        echo '<option value="' . $dropdown['dog'] . '">'.$dropdown['dog'].'</option>';// add text to dropdown
    }
    ?>
</select>