Php 获取SQL语句以选择我希望它执行的项时出现问题
我正在尝试向组级别为4或5的用户发送电子邮件。我在“用户”表中区分了组级别。我正在尝试获取“组”级别为4或5的用户的电子邮件和“名字”。然后使用该电子邮件和名字创建变量,并将其用于我的电子邮件 我的SQL语句结构是否错误?我没有得到任何错误 我正在努力解决的是这些问题Php 获取SQL语句以选择我希望它执行的项时出现问题,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我正在尝试向组级别为4或5的用户发送电子邮件。我在“用户”表中区分了组级别。我正在尝试获取“组”级别为4或5的用户的电子邮件和“名字”。然后使用该电子邮件和名字创建变量,并将其用于我的电子邮件 我的SQL语句结构是否错误?我没有得到任何错误 我正在努力解决的是这些问题 if($sql_email = "SELECT 'email' FROM 'users' WHERE 'group' = 4 AND 5") { $email = $con->query($sql_email);
if($sql_email = "SELECT 'email' FROM 'users' WHERE 'group' = 4 AND 5") {
$email = $con->query($sql_email);
} else {
echo "Query not working right";
}
$sql_name = "SELECT 'firstname' FROM 'users' WHERE 'group' = 4 AND 5";
$admin_name = $con->query($sql_name);
更多代码显示我如何使用它
ini_set('display_errors', 1);
error_reporting(E_ALL);
//User Request Email that goes to the commissioner and creator
if(isset($_POST['submit'])) {
$con = mysqli_connect("localhost","root","","db");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if($sql_email = "SELECT 'email' FROM 'users' WHERE 'group' = 4 AND 5") {
$email = $con->query($sql_email);
} else {
echo "Query not working right";
}
$sql_name = "SELECT 'firstname' FROM 'users' WHERE 'group' = 4 AND 5";
$admin_name = $con->query($sql_name);
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$to = $email;
$subject = 'There is a new user request to join the SFL';
$message = '
<html>
<head>
<title>New SFL User Request</title>
</head>
<body>
<p>Hi '.$admin_name.',</p><br>
<p>Thank you for wanting to join the!</p>
<p>Thank you,</p>
<p>Administration</p>
</body>
</html>
';
$from = "user-requests@example.com";
$Bcc = "user-requests-confirm@example.com";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: ' .$to. "\r\n";
$headers .= 'From: ' .$from. "\r\n";
$headers .= 'Bcc: '.$Bcc. "\r\n";
// Send the email
mail($to,$subject,$message,$headers);
}
我得到了这个错误。。
可捕获的致命错误:在第219行的/home4/db/public_html/example.com/register.php中,类mysqli_result的对象无法转换为字符串
第219行是
<p>Hi '.$admin_name.',</p><br>
Hi.$admin\u name.”,
此外,
if($sql_email = "SELECT 'email' FROM 'users' WHERE 'group' = 4 AND 5")
是无用的,因为结果总是真实的
你可以说
if( ! $con->query($sql_email) )
echo "Query not working right";
此外,
if($sql_email = "SELECT 'email' FROM 'users' WHERE 'group' = 4 AND 5")
是无用的,因为结果总是真实的
你可以说
if( ! $con->query($sql_email) )
echo "Query not working right";
执行select查询后,需要获取记录。我假设您需要向找到的所有用户发送电子邮件
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$sql_email = "SELECT `email`, `firstname` FROM `users` WHERE `group` IN (4,5)";
$users = $con->query($sql_email);
if (($users) && ($users->num_rows > 0)){// Got any record?
// output data of each row
while($user = $users->fetch_assoc()){
$to = $user['email'];
$subject = 'There is a new user request to join the SFL';
$message = '
<html>
<head>
<title>New SFL User Request</title>
</head>
<body>
<p>Hi '.$user['firstname'].',</p><br>
<p>Thank you for wanting to join the!</p>
<p>Thank you,</p>
<p>Administration</p>
</body>
</html>
';
$from = "user-requests@example.com";
$Bcc = "user-requests-confirm@example.com";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: ' .$to. "\r\n";
$headers .= 'From: ' .$from. "\r\n";
$headers .= 'Bcc: '.$Bcc. "\r\n";
// Send the email
mail($to,$subject,$message,$headers);
}
}
else{
echo "No User Found!";
}
$firstname=$\u POST['firstname'];
$lastname=$\u POST['lastname'];
$username=$_POST['username'];
$sql_email=“从(4,5)中的“用户”中选择“电子邮件”,“名字”;
$users=$con->query($sql\u电子邮件);
如果($users)&&($users->num_rows>0)){//有记录吗?
//每行的输出数据
而($user=$users->fetch_assoc()){
$to=$user['email'];
$subject='有新用户请求加入SFL';
$message='1
新SFL用户请求
您好,“$user['firstname']”,
谢谢你想加入我们
谢谢,
管理
';
$from=“用户-requests@example.com";
$Bcc=“用户请求-confirm@example.com";
//要发送HTML邮件,必须设置内容类型标题
$headers='MIME版本:1.0'。“\r\n”;
$headers.=“内容类型:text/html;字符集=iso-8859-1”。“\r\n”;
//附加标题
$headers.='To:'.$To.\r\n;
$headers.='From:'.$From.\r\n;
$headers.=“密件抄送:”.$Bcc.\r\n”;
//发送电子邮件
邮件($to、$subject、$message、$headers);
}
}
否则{
回显“未找到用户!”;
}
您可以从这里了解更多信息:执行select查询后,您需要获取记录。我假设您需要向找到的所有用户发送电子邮件
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$sql_email = "SELECT `email`, `firstname` FROM `users` WHERE `group` IN (4,5)";
$users = $con->query($sql_email);
if (($users) && ($users->num_rows > 0)){// Got any record?
// output data of each row
while($user = $users->fetch_assoc()){
$to = $user['email'];
$subject = 'There is a new user request to join the SFL';
$message = '
<html>
<head>
<title>New SFL User Request</title>
</head>
<body>
<p>Hi '.$user['firstname'].',</p><br>
<p>Thank you for wanting to join the!</p>
<p>Thank you,</p>
<p>Administration</p>
</body>
</html>
';
$from = "user-requests@example.com";
$Bcc = "user-requests-confirm@example.com";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: ' .$to. "\r\n";
$headers .= 'From: ' .$from. "\r\n";
$headers .= 'Bcc: '.$Bcc. "\r\n";
// Send the email
mail($to,$subject,$message,$headers);
}
}
else{
echo "No User Found!";
}
$firstname=$\u POST['firstname'];
$lastname=$\u POST['lastname'];
$username=$_POST['username'];
$sql_email=“从(4,5)中的“用户”中选择“电子邮件”,“名字”;
$users=$con->query($sql\u电子邮件);
如果($users)&&($users->num_rows>0)){//有记录吗?
//每行的输出数据
而($user=$users->fetch_assoc()){
$to=$user['email'];
$subject='有新用户请求加入SFL';
$message='1
新SFL用户请求
您好,“$user['firstname']”,
谢谢你想加入我们
谢谢,
管理
';
$from=“用户-requests@example.com";
$Bcc=“用户请求-confirm@example.com";
//要发送HTML邮件,必须设置内容类型标题
$headers='MIME版本:1.0'。“\r\n”;
$headers.=“内容类型:text/html;字符集=iso-8859-1”。“\r\n”;
//附加标题
$headers.='To:'.$To.\r\n;
$headers.='From:'.$From.\r\n;
$headers.=“密件抄送:”.$Bcc.\r\n”;
//发送电子邮件
邮件($to、$subject、$message、$headers);
}
}
否则{
回显“未找到用户!”;
}
您可以从这里了解更多信息:我更新了我的问题。我把我的代码改成了你所拥有的代码,并且得到一个错误,说我不能将变量转换成字符串。关于你的回答的问题。为什么
选择任何内容
,这不违背获取email和firstname字段的目的吗?我给了你一个技巧来修复你的脚本,而不是它的实际副本。将任何内容更改为电子邮件、名字。。。我只是想说,在这种情况下,group=4和5
是不正确的。我更新了我的问题。我把我的代码改成了你所拥有的代码,并且得到一个错误,说我不能将变量转换成字符串。关于你的回答的问题。为什么选择任何内容
,这不违背获取email和firstname字段的目的吗?我给了你一个技巧来修复你的脚本,而不是它的实际副本。将任何内容更改为电子邮件、名字。。。我只是想说,在这种情况下,group=4和5
是不正确的。除了代码之外,如果要查询数据库中的用户输入,请不要使用mysql查询。使用PDO并将变量绑定为参数。虽然mysqli比使用mysql()函数更好,但PDO更安全。PDO到底比mysqli更安全吗?除了代码之外,如果您要查询数据库中的用户输入,请不要使用mysql查询。使用PDO并将变量绑定为参数。虽然mysqli比使用mysql()函数更好,但PDO更安全。PDO到底比mysqli更安全吗?