PHP PDO只获取1行

时间:2015-04-02 14:33:27

标签: php pdo

我想获取表的所有行,但它只回显1行。 (最新的) 尝试了很多但没有任何对我有用。在stackoverflow上尝试了答案,但它无法正常工作。

以下是我用来获取行的代码:

$stmt = $pdo->prepare("SELECT * FROM admin");
$stmt->execute();
$result = $stmt->fetchAll();

foreach ($result as $row) {
    $gebruikersnaam = $row['gebruikersnaam'];
    $wachtwoord = $row['wachtwoord'];
}

希望有人能帮助我。

2 个答案:

答案 0 :(得分:1)

  

我想获取表的所有行,但它只回显1行。 (最新的)

foreach ($result as $row) {
    $gebruikersnaam = $row['gebruikersnaam'];
    $wachtwoord = $row['wachtwoord'];
}

假设您在循环外使用这些变量,我可以下注5美元。这就是为什么您只能看到最后一行的数据。可以逐个删除fetchAll()fetch(),也可以在循环中操作变量,以便为每一行获取新值。

试试这个,你会知道我的意思

foreach ($result as $row) {
   print_r($row);
}

答案 1 :(得分:0)

$stmt = $pdo->prepare("SELECT * FROM admin");
$stmt->execute();
$result = $stmt->fetchAll();
$count = $stmt->rowCount();

for ($i=0; $i < $count; $i++) {
$gebruikersnaam = $result[$i]['gebruikersnaam'];
$wachtwoord = $result[$i]['wachtwoord'];

echo 'Gebruikersnaam is : '.$gebruikersnaam.'<br/>';
echo 'Wachtwoord is : '.$wachtwoord.'<br/>';
}

或者如果你想使用foreach:

$stmt = $pdo->prepare("SELECT * FROM admin");
$stmt->execute();
$result = $stmt->fetchAll();

foreach ($result as $row) {
$gebruikersnaam .= $row['gebruikersnaam'];
$wachtwoord .= $row['wachtwoord'];
}

echo 'Gebruikersnamen zijn : '.$gebruikersnaam.'<br/>';
echo 'Wachtwoorden zijn : '.$wachtwoord.'<br/>';

你必须对它进行一点式设计,因为它会将它们粘在一起。