如何使用php将多行数据插入Mysql数据库
我有以下代码:如何使用php将多行数据插入Mysql数据库,php,mysql,database,Php,Mysql,Database,我有以下代码: <?php session_start(); $page_name = 'Send Emails'; require_once('header.php'); if(!empty($_POST['send'])){ $id_mail= ""; foreach ($_POST['selected'] as $key => $value) { echo "$key - $value <br
<?php
session_start();
$page_name = 'Send Emails';
require_once('header.php');
if(!empty($_POST['send'])){
$id_mail= "";
foreach ($_POST['selected'] as $key => $value) {
echo "$key - $value <br>";
$id_mail .= "$value, ";
}
$id_mail= substr($id_mail, 0, -2);
}
if(!empty($_POST['Send2'])){
$mail= mysqli_query($conn, "SELECT mail FROM students WHERE student_id IN($_POST[id_mail])");
echo "SELECT mail FROM students WHERE student_id IN($_POST[id_mail]) ";
while ($row_mail = mysqli_fetch_assoc($mail)) {
echo "$row_mail[mail] ";
$to = $row_mail['mail'];
$subject = $_POST['head'];
$message = $_POST['body'];
$headers = 'From: code-week@example.com' . "\r\n" .
'Please do not reply to this message' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
}
?>
<form name='mail2' method='post' action='send_email.php'><br/>
<input type="hidden" name="id_mail" value="<?php echo $id_mail; ?>">
<br/>
<input type='text' name='head' placeholder='header'>
<br/>
<br/>
<textarea name='body' rows="4" cols="50" placeholder='body'></textarea><br/>
<br/>
<input class='btn btn-danger'type='submit' name="Send2" value='Send'>
</form>
首先,最好不要在查询中使用未替换的POST数据,因为这可能会导致错误
至于“插入”部分-如果您有所有必需的字段、主键和默认值,只需使用语句保存数据即可。首先,最好不要在查询中使用未替换的POST数据,因为这可能会导致错误
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
至于“插入”部分-如果您有所有必需的字段、主键和默认值,只需使用语句保存数据即可。为通知的创建一列,并最初将其值设置为零
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
2) 。电子邮件发送给学生后,立即将is notified
列更新为1
如果要使用PDO进行多次更新,可以使用以下方法:-
<?php
try
{
$s = $conn->prepare("your SQL");
}
catch(PDOException $e)
{
echo $e->getMessage();
}
foreach(loop through the ids here)
{
$s->bindParam(':paramname', $paramvalue);
$s->execute();
}
?>
1)。为通知的创建一列,并最初将其值设置为零
2) 。电子邮件发送给学生后,立即将is notified
列更新为1
如果要使用PDO进行多次更新,可以使用以下方法:-
<?php
try
{
$s = $conn->prepare("your SQL");
}
catch(PDOException $e)
{
echo $e->getMessage();
}
foreach(loop through the ids here)
{
$s->bindParam(':paramname', $paramvalue);
$s->execute();
}
?>
这对我很有用:
if(!empty($_POST['Send2'])){
14 $mail= mysqli_query($conn, "SELECT student_id, mail FROM students WHERE student_id IN($_POST[id_mail])");
15 echo "SELECT student_id, mail FROM students WHERE student_id IN($_POST[id_mail]) ";
16 while ($row_mail = mysqli_fetch_assoc($mail)) {
17 echo "$row_mail[mail] ";
18 $to = $row_mail['mail'];
19 $subject = $_POST['head'];
20 $message = $_POST['body'];
21 $headers = 'From: code-week@example.com' . "\r\n" .
22 'Please do not reply to this message' . "\r\n" .
23 'X-Mailer: PHP/' . phpversion();
24 mail($to, $subject, $message, $headers);
25 $sent_mails= mysqli_query($conn, "INSERT INTO sent_mails (id_st, mail_head, content) VALUES ('$_POST[id_mail]', '$subject', '$message') ");
26 if (mysqli_query($conn, $sent_mails)){
27 echo "Success";
28 } else {
29 echo "Error ". $sent_mails . "<br/>" . mysqli_error($conn);
30 }
31 }
32 }
if(!empty($_POST['Send2']){
14$mail=mysqli_query($conn,“选择学生id,学生id所在的学生的邮件($_POST[id_mail]));
15 echo“选择学生id,来自学生id所在的学生的邮件($\u POST[id\u mail])”;
16而($row_mail=mysqli_fetch_assoc($mail)){
17回声“$row_邮件[邮件]”;
18$to=$row_邮件['mail'];
19$subject=$_POST['head'];
20$message=$_POST['body'];
21$headers='From:code-week@example.com“。”\r\n”。
22“请不要回复此邮件”。“\r\n”。
23'X-Mailer:PHP/'.phpversion();
24封邮件($to、$subject、$message、$headers);
25$sent_mails=mysqli_query($conn,“插入到sent_mails(id_st,mail_head,content)值(“$_POST[id_mail]”,“$subject]”,“$message”);
26如果(mysqli_查询($conn,$sent_邮件)){
27“成功”;
28}其他{
29回显“错误”。$已发送邮件。“
”。mysqli\u错误($conn);
30 }
31 }
32 }
这对我很有用:
if(!empty($_POST['Send2'])){
14 $mail= mysqli_query($conn, "SELECT student_id, mail FROM students WHERE student_id IN($_POST[id_mail])");
15 echo "SELECT student_id, mail FROM students WHERE student_id IN($_POST[id_mail]) ";
16 while ($row_mail = mysqli_fetch_assoc($mail)) {
17 echo "$row_mail[mail] ";
18 $to = $row_mail['mail'];
19 $subject = $_POST['head'];
20 $message = $_POST['body'];
21 $headers = 'From: code-week@example.com' . "\r\n" .
22 'Please do not reply to this message' . "\r\n" .
23 'X-Mailer: PHP/' . phpversion();
24 mail($to, $subject, $message, $headers);
25 $sent_mails= mysqli_query($conn, "INSERT INTO sent_mails (id_st, mail_head, content) VALUES ('$_POST[id_mail]', '$subject', '$message') ");
26 if (mysqli_query($conn, $sent_mails)){
27 echo "Success";
28 } else {
29 echo "Error ". $sent_mails . "<br/>" . mysqli_error($conn);
30 }
31 }
32 }
if(!empty($_POST['Send2']){
14$mail=mysqli_query($conn,“选择学生id,学生id所在的学生的邮件($_POST[id_mail]));
15 echo“选择学生id,来自学生id所在的学生的邮件($\u POST[id\u mail])”;
16而($row_mail=mysqli_fetch_assoc($mail)){
17回声“$row_邮件[邮件]”;
18$to=$row_邮件['mail'];
19$subject=$_POST['head'];
20$message=$_POST['body'];
21$headers='From:code-week@example.com“。”\r\n”。
22“请不要回复此邮件”。“\r\n”。
23'X-Mailer:PHP/'.phpversion();
24封邮件($to、$subject、$message、$headers);
25$sent_mails=mysqli_query($conn,“插入到sent_mails(id_st,mail_head,content)值(“$_POST[id_mail]”,“$subject]”,“$message”);
26如果(mysqli_查询($conn,$sent_邮件)){
27“成功”;
28}其他{
29回显“错误”。$已发送邮件。“
”。mysqli\u错误($conn);
30 }
31 }
32 }
阅读时间很长……如果您想回答您的问题,请以结构化的方式提问……您真正想做什么?没有人会通读所有这些。对不起,我不知道如何正确地解释,而不是这么长的时间…除非你是一个快速阅读者;-)在打开PHP标记后立即将错误报告添加到文件顶部,例如非常冗长…请以结构化的方式提问,如果您想回答您的问题,请回答…您实际上想做什么?没有人会通读所有这些。对不起,我不知道如何正确地解释,而不是这么长的时间…除非你是一个快速阅读者;-)在打开PHP标记后立即将错误报告添加到文件顶部,例如,这会起作用,是的,但我不知道会有多少值字段。如果我写了3行,并选择5个人发送电子邮件,它将无法工作。如果我写了5行,但只输入了3行的数据,同样,不起作用。如果代码后面的值可以是动态的,基于为电子邮件选择的人员,这将是非常好的。这将是可行的,是的,但我不知道我会有多少个值字段。如果我写了3行,并选择5个人发送电子邮件,它将无法工作。如果我写了5行,但只输入了3行的数据,同样,不起作用。如果“代码后”值可以根据选定的电子邮件用户以某种方式动态显示,那将是非常好的选择。这看起来是一个不错的选择,谢谢。一如既往的K.I.S:)@MihailIvanchev别忘了接受帮助你的答案;)你能给出一个不是PDO的代码示例吗?像对象还是程序?我在工作中不使用PDO,实现它会更困难。@MihailIvanchev我可以,但我建议您使用PDO。对不起,这不起作用。我原以为它会奏效,但我为之制作的人基本上希望它具有与邮箱类似的功能。其想法是将发送的电子邮件保存到数据库中的“已发送电子邮件”表中,我可以显示该表。仅将状态从0更改为1并不能将其删除。这看起来是一个不错的选择,谢谢。一如既往的K.I.S:)@MihailIvanchev别忘了接受帮助你的答案;)你能给出一个不是PDO的代码示例吗?像对象还是程序?我在工作中不使用PDO,实现它会更困难。@MihailIvanchev我可以,但我建议您使用PDO。对不起,这不起作用。我原以为这会奏效的,但我要做的人