Php 向电子邮件地址来自Mysql的不同用户发送邮件
我想从具有条件的表中获取所有行,然后向指定的用户发送电子邮件。表中有2个用户。如果我在sql语句中放入sql语句,它将不起作用,只有第一个用户才能收到邮件。我相信这很容易,但我是php和mysql的初学者,所以请帮助我 表中有2个用户Php 向电子邮件地址来自Mysql的不同用户发送邮件,php,mysql,mysqli,Php,Mysql,Mysqli,我想从具有条件的表中获取所有行,然后向指定的用户发送电子邮件。表中有2个用户。如果我在sql语句中放入sql语句,它将不起作用,只有第一个用户才能收到邮件。我相信这很容易,但我是php和mysql的初学者,所以请帮助我 表中有2个用户 <?php require'../includes/database.php'; $sql = "SELECT * FROM users"; $result = $conn->query($sql); if ($result-&
<?php
require'../includes/database.php';
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$fname = $row["fname"];
$nname = $row["lname"];
$mailadresse = $row["email"];
$user2 = $fname." ".$nname;
echo $user2;
$sql = "SELECT * FROM iks_open, users WHERE Datum <= '$neudate' AND pverantwortung = '$user2'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$mailhost = "$server"; //SMTP Host name
$mailsmtpauth = true;
$mailusername = "$user"; // SMTP Login
$mailpassword = "$pass"; // SMTP Password
require_once('../includes/Mailer/class.phpmailer.php');
require_once('../includes/Mailer/class.smtp.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = $mailhost;
$mail->Port = $port;
$mail->SMTPDebug = 1; // Kann man zu debug Zwecken aktivieren
$mail->SMTPAuth = true;
$mail->Username = $mailusername;
$mail->Password = $mailpassword;
$mail->SMTPSecure = $sec;
$frommail = "$email";
$mail->SetFrom($frommail, 'IKS-System');
$address = "$mailadresse";
$mail->AddAddress($address);
$mail->Subject = "Offene IKS-Aufgaben";
$mail->Body = "Sie haben offene Aufgaben. Bitte einloggen und erledigen";
if(!$mail->Send()) {
$lcontact = 1;
} else {
$lcontact = 2;
}
}else {
echo "Alles gut";
}
}
}
?>
您正在覆盖while语句中的$result变量。小心处理您的变量,您不会遇到这样的麻烦。您正在覆盖while语句中的$result变量。小心你的变量,你不会有这样的麻烦。我认为,在while循环中发生的数据库获取正在覆盖$result对象
试试这个
<?php
require'../includes/database.php';
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$fname = $row["fname"];
$nname = $row["lname"];
$mailadresse = $row["email"];
$user2 = $fname." ".$nname;
echo $user2;
$query = "SELECT * FROM iks_open, users WHERE Datum <= '$neudate' AND pverantwortung = '$user2'";
$details = $conn->query($sql);
if ($details->num_rows > 0) {
$mailhost = "$server"; //SMTP Host name
$mailsmtpauth = true;
$mailusername = "$user"; // SMTP Login
$mailpassword = "$pass"; // SMTP Password
require_once('../includes/Mailer/class.phpmailer.php');
require_once('../includes/Mailer/class.smtp.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = $mailhost;
$mail->Port = $port;
$mail->SMTPDebug = 1; // Kann man zu debug Zwecken aktivieren
$mail->SMTPAuth = true;
$mail->Username = $mailusername;
$mail->Password = $mailpassword;
$mail->SMTPSecure = $sec;
$frommail = "$email";
$mail->SetFrom($frommail, 'IKS-System');
$address = "$mailadresse";
$mail->AddAddress($address);
$mail->Subject = "Offene IKS-Aufgaben";
$mail->Body = "Sie haben offene Aufgaben. Bitte einloggen und erledigen";
if(!$mail->Send()) {
$lcontact = 1;
} else {
$lcontact = 2;
}
}else {
echo "Alles gut";
}
}
我认为,在while循环中发生的数据库获取正在覆盖$result对象
试试这个
<?php
require'../includes/database.php';
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$fname = $row["fname"];
$nname = $row["lname"];
$mailadresse = $row["email"];
$user2 = $fname." ".$nname;
echo $user2;
$query = "SELECT * FROM iks_open, users WHERE Datum <= '$neudate' AND pverantwortung = '$user2'";
$details = $conn->query($sql);
if ($details->num_rows > 0) {
$mailhost = "$server"; //SMTP Host name
$mailsmtpauth = true;
$mailusername = "$user"; // SMTP Login
$mailpassword = "$pass"; // SMTP Password
require_once('../includes/Mailer/class.phpmailer.php');
require_once('../includes/Mailer/class.smtp.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = $mailhost;
$mail->Port = $port;
$mail->SMTPDebug = 1; // Kann man zu debug Zwecken aktivieren
$mail->SMTPAuth = true;
$mail->Username = $mailusername;
$mail->Password = $mailpassword;
$mail->SMTPSecure = $sec;
$frommail = "$email";
$mail->SetFrom($frommail, 'IKS-System');
$address = "$mailadresse";
$mail->AddAddress($address);
$mail->Subject = "Offene IKS-Aufgaben";
$mail->Body = "Sie haben offene Aufgaben. Bitte einloggen und erledigen";
if(!$mail->Send()) {
$lcontact = 1;
} else {
$lcontact = 2;
}
}else {
echo "Alles gut";
}
}
如果您检测到问题源,请尝试给出一个snnipet代码解决方案。这对手术来说很容易。是的,你是对的,但没有必要这样做。这不是逻辑问题。他必须重新命名他的变量。我想他不用举例就可以做到。无论如何,在看到你的答案之前,我已经为他准备好了。如果你发现了问题的根源,试着给出一个简单的代码解决方案。这对手术来说很容易。是的,你是对的,但没有必要这样做。这不是逻辑问题。他必须重新命名他的变量。我想他可以不用一个例子就做到。无论如何,在看到你的答案之前,我已经为他准备好了。