建议的问题并没有完全涵盖我的问题。我对这里的答案很感兴趣,Invalid argument supplied for foreach!但不太明白它如何适用于我的情况。
我有以下代码,它确实按照我的预期工作;该代码通过匹配上一页发布的隐藏表单中给出的 id 来构建电子邮件地址数组,并在 mysql 数据库中查找“电子邮件”列。
但是,我也收到错误:第 50 行为 foreach() 提供的参数无效
感谢任何帮助。
function findEmail($id) {
$mysqli = new mysqli(DBHOST,DBUSER,DBPASS,DB);
if ($mysqli->connect_errno) {
error_log("Cannot connect to MySQL: " . $mysqli->connect_error);
return false;
}
$query = "SELECT email FROM `Students` WHERE id = '$id'";
$result = $mysqli->query($query);
while($row = $result->fetch_array()) {
$rows[] = $row;
}
$email = "";
foreach($rows as $row) { //This is line 50
$email = ($row['email']);
}
return $email;
}
$userId = array();
$userEmail = array();
foreach($_POST as $key => $value) {
array_push($userId, $value);
array_push($userEmail, findEmail($value));
}
最佳答案
该错误不是致命的,您可以使其成为...但是错误是 $rows 未定义 - 您的查询必须返回空。
关于php - 为 foreach() 提供的参数无效 - 但脚本仍然有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23120350/