Php 仅将mysql中的数组插入选定记录

Php 仅将mysql中的数组插入选定记录,php,mysql,where-clause,sql,Php,Mysql,Where Clause,Sql,我试图在特定记录中输入一个值,我有一个代码,用户从下拉列表中选择一门课程,然后通过复选框从表中向课程添加学生,问题是当我试图将课程ID插入学生表时,我无法选择用户选择的学生!! 这是我的密码: <?php include("S.php"); $connectdb = mysql_connect('localhost','root','sara') or die ("Not Connect"); if (!$connectdb) { die('Could not connect :

我试图在特定记录中输入一个值,我有一个代码,用户从下拉列表中选择一门课程,然后通过复选框从表中向课程添加学生,问题是当我试图将课程ID插入学生表时,我无法选择用户选择的学生!! 这是我的密码:

<?php

include("S.php");
$connectdb = mysql_connect('localhost','root','sara') or die ("Not Connect");
if (!$connectdb)
{
    die('Could not connect :'. mysql_errno());
}
$selestdb = mysql_select_db('iexa', $connectdb) or die ("not selected database");
$count = count($foo);

for ($i = 0; $i <= $count; $i++){
    $Student = $foo[$i];
    $res = mysql_query("SELECT St_ID FROM student WHERE St_ID='$Student'");
    while($row = mysql_fetch_array($res))
    {
        $sql ="INSERT INTO student (ID) VALUES ('$_POST[$row['courseID'] . "]')";
    }
}
if (!mysql_query($sql,$connectdb))
{
   die ('Error :'.mysql_error());
}
echo "The Students are add to the course <br />";
mysql_close($connectdb) ;

?>
其中$foo是包含选择添加到课程中的学生ID的数组 这是我得到的错误:
分析错误:语法错误,在第20行的C:\AppServ\www\test\S2.php中出现意外的“[”,应为“]”,我猜您的db结构出了问题。在我的情况下,它将类似于以下示例:

数据库结构: 一,。学生:[uin,全名,地址,…] 2.课程:[uin,标题,…] 3.种马路线:[种马路线,路线路线]

现在,当用户为各自的课程选择各自的学生时,让我们说9: 一,。假设检查的螺柱列表为:$chkStuds 2.Sel课程编号:9

步骤: 一,。删除stud_课程中重复课程的所有以前条目

 mysql_query(sprintf("delete from stud_course where course_uin = %d", $selCourseUIN));
二,。批量插入:

 mysql_query(sprintf("insert into stud_course(stud_uin, course_uin) select uin as stud_uin, %d as course_uin from students where uin in (%s)", $selCourseUIN, implode(",", $chkStuds)))
希望它能对您有所帮助。

错误在这里:

$sql ="INSERT INTO student (ID) VALUES ('$_POST[$row['courseID'] . "]')";
应该是:

$sql = "INSERT INTO student (ID) VALUES ('" . $_POST[$row['courseID']] . "')";

请清理你的代码。语法颜色是一个提示。谢谢。您也在迭代比数组中多出一条记录。使用uin在这里的意思学生:[uin,全名,地址,…]?!uin可以是唯一的标识号或主键或学生id来表示学生的相应记录谢谢,它确实有效,但它向我显示错误:查询为空?你知道为什么吗?你需要确保设置了$sql,并且$\u POST[$row['courseID']]实际上正在提取一个值。我设置了$sql,但仍然存在相同的错误,&我不知道这个查询如何有值!抱歉打扰您:echo$_在查询上方的某个位置发布[$row['courseID']],然后查看输出内容。如果没有,则意味着没有发布任何索引等于$row['courseID']的内容。