我有一个表,它的主键是一个名为St_ID
的列。我想使用存储在数组中的值更新同一列(ID
)中的另一列。但是,当我尝试下面的代码时,结果是一个St_ID
值为"0"的新记录,并且所有其他列都为空。
注意,courseID
是通过下拉列表选择的值。你知道我哪里错了吗?
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 />";
这里简化了代码,只有一个查询
$where = "'".implode("','", $foo)."'";
$res = mysql_query("UPDATE student set ID = courseID WHERE St_ID IN ($where)")
or die('Error :'.mysql_error());
echo "The Students are add to the course <br />";
选择St_ID
但尝试插入courseID
在这条线上
$sql = "INSERT INTO student (ID) VALUES
('" . $_POST[$row['courseID']] . "')";
SELECT St_ID FROM student WHERE St_ID='$Student'
INSERT INTO student (ID) VALUES ...
如果要更新所选的记录,则必须使用update sql命令;
UPDATE student
SET ID=...
WHERE St_ID='$Student'