[英]How to insert multiple rows of data into Mysql DB with php
我有以下代碼:
<?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>
目的是從學生表中讀取選定行的ID,進行打印,以便我可以從上一頁中看到它的正確選擇,然后基於它,向所有具有選定ID的人發送電子郵件。 我的問題是,我如何才能將發送的電子郵件(只是主題和消息部分)與所選的學生ID一起寫入新的Mysql DB表中? 每次我嘗試使用普通的INSERT查詢執行此操作時,都會說所選的ID無效,假定它為0,然后寫出主題和消息,並在ID列中輸入假定值-0。選擇2或3個人(2-3個ID),它會寫第一個,然后出現錯誤。 如果第一個字段已滿(ID為0),它將輸出錯誤,並且不寫入任何內容。
最終結果應該是一個包含3列的表格-學生ID,電子郵件主題和電子郵件。 目的是通知選定的學生,然后將消息寫在表中,這樣我就可以看到已通知女巫學生。
1)。 為is_notified
一列,並將其值初始設置為零。
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();
}
?>
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
這對我有用:
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 }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.