>**Hi.这些是我的结构:
我在phpMyAdmin中得到了2个表:
- 类 ( classid(pk), 类名 ) 学生 (
- 学生 ID(pk), classid(fk), 学生姓名 )1 个表单.php 和 1 个form_post.php
我已经在表格中完成了.php**
include_once("connection.php");
$className= $_POST["className"];
$studentName1= $_POST["studentName1"];
$studentName2= $_POST["studentName2"];
$studentName3= $_POST["studentName30"];
$sql = "insert into class(className) values ('$className')";
mysql_query($sql);
$lastid=mysql_insert_id();
$sql2= "INSERT INTO students (studentid, classid, studentName)
VALUES (' ', $lastid, '$studentName')";
mysql_query($sql2);
form_post.php :
<tr>
<td width="140"><span class="order">Class Name: </span></td>
<td><span class="order">
<input name="className" type="text" id="className" size="35" />
</span></td>
</tr>
<tr>
<td width="132"><span class="order">Student's Name: </span></td>
<td><span class="order">
<input type="text" name="studentName1" id="studentName1" />
</span></td>
</tr>
<tr>
<td width="132"><span class="order">Student's Name: </span></td>
<td><span class="order">
<input type="text" name="studentName2" id="studentName2" />
</span></td>
</tr>
<tr>
<td width="132"><span class="order">Student's Name: </span></td>
<td><span class="order">
<input type="text" name="studentName3" id="studentName3" />
</span></td>
</tr>
这是一种用于注册班级和学生的表格。在phMyAdmin学生表中,有一个用于studentid(pk)的字段/列,一个用于classid(fk)的字段/列,一个用于studentName的字段/列,而我从朋友那里得到的这段代码得到了3个学生姓名字段。如何将 3 名学生姓名插入具有相同类外键的 phpMyAdmin 学生表的学生姓名列中?红色的单词是令人困惑的单词。我仍然是一个初学者,我整夜都在努力完成这项工作。但是,我仍然被困住了。谢谢:)
您可以使用插入多行,具体取决于是否将相同的数据插入到相同的表中
逃避你的价值观总是好的
$className= mysql_real_escape_string($_POST["className"]));
$studentName1= mysql_real_escape_string($_POST["studentName1"]);
$studentName2= mysql_real_escape_string($_POST["studentName2"]);
$studentName3= mysql_real_escape_string($_POST["studentName3"]);
$sql2= "INSERT INTO students (studentid, classid, studentName)
VALUES (' ', $lastid, '$studentName1'),
(' ', $lastid, '$studentName2'),
(' ', $lastid, '$studentName3')";
mysql_query($sql2);
建议:
1.学会防止MySQL注入:良好的链接
2.不建议使用 Mysql 扩展来编写新代码。相反,应该使用 mysqli 或 PDO_MySQL 扩展。更多阅读: PHP 手册
第二种解决方案:
if(!empty($studentName1)) {
$sql2= "INSERT INTO students (studentid, classid, studentName)
VALUES (' ', $lastid, '$studentName1')";
mysql_query($sql2);
}
if(!empty($studentName2)) {
$sql2= "INSERT INTO students (studentid, classid, studentName)
VALUES (' ', $lastid, '$studentName2')";
mysql_query($sql2);
}
if(!empty($studentName3)) {
$sql2= "INSERT INTO students (studentid, classid, studentName)
VALUES (' ', $lastid, '$studentName3')";
mysql_query($sql2);
}
$sql2= "INSERT INTO students (studentid, classid, studentName)
VALUES (null, $lastid, '$studentName')";
$sql2= "INSERT INTO students (studentid, classid, studentName)
VALUES ('', $lastid, '$studentName')";