PHP MYSQL下拉列数据列表

时间:2012-06-01 08:48:09

标签: php mysql pdo

我正在尝试使用我的一个列的数据创建一个下拉列表...如果下面的代码正在执行此操作,我正在徘徊...(顺便说一句,它不起作用)非常感谢多!

<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> 

3 个答案:

答案 0 :(得分:3)

在获取结果之前,您必须先执行语句。

$stmt->execute();

或者您可以使用query

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

您可以阅读更多herehere

答案 1 :(得分:0)

Referring this link

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

$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();

答案 2 :(得分:0)

您的pdoStatement::fetch会返回一个关联array,您需要在数组中选择正确的值,而不仅仅是将数组本身打印出来,正如您所注意到的那样打印为空。

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

是你需要的