gpt4 book ai didi

php - 如何使用php将多行数据插入Mysql DB

转载 作者:行者123 更新时间:2023-12-01 00:41:16 24 4
gpt4 key购买 nike

我有这个代码:

    <?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。我的问题是,我怎样才能将发送的电子邮件(只是主题和消息部分)与新的 Mysql 数据库表中的选定学生 ID 结合起来?每次我尝试使用普通的 INSERT 查询执行此操作时,它都会说所选 ID 无效,假定它为 0,并在 ID 列中写入主题和消息,并输入假定值 - 0。如果我选择了 2 或 3 个人(2-3 个 ID),它写了第一个,然后我得到一个错误。如果第一个字段已满(ID 为 0),它会输出错误并且不写入任何内容。
最终结果应该是一个包含 3 列的表格 - 学生 ID、电子邮件主题和电子邮件消息。目的是通知选定的学生,然后将消息写在表格中,这样我就可以看到女巫学生已被通知。

最佳答案

首先,最好不要在查询中使用未转义的 POST 数据,因为它可能会导致 sql injection。 .

至于“插入”部分 - 如果您拥有所有必需的字段、主键和默认值,只需使用 INSERT语句保存数据

关于php - 如何使用php将多行数据插入Mysql DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31857471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com