我正在尝试在特定记录中输入一个值,我有一个代码,用户从下拉列表中选择一个课程,然后通过复选框将学生从表中添加到课程中,事情是我什么时候我试图将课程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中的意外'[',期待']'
答案 0 :(得分:0)
我猜你的db结构出错了。在我的情况下,它将类似于以下示例:
1。)学生:[uin,fullname,address,...]
2.)课程:[uin,title,...]
3.)stud_courses:[uin,stud_uin,course_uin]
1。)让我们说检查的螺柱列表是:$chkStuds
2.)选择课程ID:9
1。)删除stud_course
中所有以前的参加课程 mysql_query(sprintf("delete from stud_course where course_uin = %d", $selCourseUIN));
2。)批量插入:
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)))
它可以帮到你。
答案 1 :(得分:0)
错误在于:
$sql ="INSERT INTO student (ID) VALUES ('$_POST[$row['courseID'] . "]')";
应该是:
$sql = "INSERT INTO student (ID) VALUES ('" . $_POST[$row['courseID']] . "')";