【发布时间】:2020-12-10 20:52:34
【问题描述】:
当数据库中有多个电子邮件时,它只返回一封电子邮件。我想选择所有电子邮件并将它们复制到新表中。
$qry5 = $con->prepare("SELECT email from ssrod.emails where WebformId = ? AND Agency_Id = ?");
$qry5->bind_param("ss", $WebformIdToCopy, $_SESSION['AgencyId']);
$qry5->execute();
$qry5->store_result();
$qry5->bind_result($copiedEmail);
$qry5->fetch();
$numberOfEmail = $qry3->num_rows;
$counter = 0;
if ($qry5->num_rows > 0) {
for($i = 0; $i<$numberOfEmail; $i++) {
$qry6 = $con->prepare("INSERT INTO ssrod.emails (WebformId, Agency_Id, LOBId, email ) values (?,?,?,?)");
$qry6->bind_param("ssss", $newAddedWebformId , $_SESSION['AgencyId'], $LOBId, $copiedEmail);
$qry6->execute();
}
}
【问题讨论】:
-
只用while而不是for
-
我在添加for循环之前使用while结果是一样的
-
你需要遍历 fetch() 也许这里的例子可以帮助你:php.net/manual/en/mysqli-stmt.fetch.php
-
谢谢@Baracuda078。我单击并按照 while 循环的步骤进行操作,并在我的 while 循环代码中使用了 fetch 两次(不是我们上面的那个),但与 Adyson 评论的相同......
-
我无法理解这个问题的标题。
标签: php mysql sql for-loop while-loop