1

我正在尝试使用我的一个列的数据制作一个下拉列表...如果下面的代码正在这样做,我正在徘徊...(顺便说一句,它不起作用)非常感谢!

<select id="teamlist" name="teamlist">
<?php
        $pdo = new PDO('mysql:host=localhost;dbname=clubresults', 'root', '12345678');
    #Set Error Mode to ERRMODE_EXCEPTION.
    $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  



$stmt = $pdo->prepare('Select teamname from members');

   while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
     echo "<option>$row</option>";
   }
 ?>
</select> 
4

3 回答 3

3

您必须先执行语句,然后才能获取结果。

$stmt->execute();

或者你可以使用query

$pdo->query('select ... ');

你可以在这里这里阅读更多

于 2012-06-01T08:52:29.287 回答
0

参考这个链接

您必须按如下方式执行准备语句。

$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
于 2012-06-01T08:57:01.553 回答
0

您的pdoStatement::fetch返回一个关联数组,您需要在数组中选择正确的值,而不仅仅是给数组本身打印,正如您注意到的那样打印什么都没有。

echo "<option>{$row['teamname']}</option>";

是你需要的

于 2012-06-01T08:59:01.250 回答