Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在foreach循环中只能得到一个结果_Php_Loops - Fatal编程技术网

Php 在foreach循环中只能得到一个结果

Php 在foreach循环中只能得到一个结果,php,loops,Php,Loops,所以我试着把我所有的电子邮件都发出去。这就是我要做的 <?php include_once 'classes/db.php'; $stmt = $con->prepare("SELECT email FROM users"); $stmt->execute(); $call = $stmt->fetch(PDO::FETCH_ASSOC); foreach($call as $key){ echo $key; } ?> 我在用户中有两封电子邮件

所以我试着把我所有的电子邮件都发出去。这就是我要做的

<?php

include_once 'classes/db.php';

$stmt = $con->prepare("SELECT email FROM users");
$stmt->execute();

$call = $stmt->fetch(PDO::FETCH_ASSOC);

foreach($call as $key){
    echo $key;
}
?>

我在
用户
中有两封电子邮件。但我得到的只是一个回报。。。。有什么想法吗

检索一行并将光标移动到下一行

while($call = $stmt->fetch(PDO::FETCH_ASSOC)) {
    foreach($call as $key){
        echo $key;
    }
}

一般来说,一个好主意是,每当您从看起来合法的代码中得到意外的结果时,就阅读手册。“PDOStatement::fetch-从结果集中获取下一行”是一行描述,它立即解开了谜团。