如何获取fetchall只能获得每行一个输入并获得多个结果

时间:2016-03-30 03:30:52

标签: php mysql

我使用php和MySQL来检索并打印mysql数据库的输出;但是,当我运行以下代码时,我从echo而不是一个得到两个结果:

<?php require('includes/config.php');
$stmt = $db->prepare("select username From members where resetToken like 'yes';");
$stmt->execute();
$result = $stmt->fetchAll();
foreach ($result[0] as $value) {
    echo "$value <br>";
}
?>

此外,当我通过phpmyadmin运行sql时,它会返回多个用户,但是当我通过php页面运行它时,它只返回一个。此外,config.php包含所有数据库信息,因此不是问题。

1 个答案:

答案 0 :(得分:2)

只有一个结果,因为您只检查第一个结果(在索引0处)。先对结果进行迭代,然后对其值进行迭代:

<?php
require('includes/config.php');

$stmt = $db->prepare("select username From members where resetToken like 'yes';");
$stmt->execute();
$results = $stmt->fetchAll();
foreach ($results as $values)
    foreach($values as $value) {
        echo "$value <br>";
    }
}
?>