php - 从 'submit' 按钮在 PHP 中插入 mysql 值无法按预期工作

标签 php mysql insert submit

我有两个表:

  • “类(class)”具有以下字段:COURSE_ID(auto 增量)、开始日期、结束日期、标题

  • 'courses_students' 具有以下字段:ID(auto 增量)、COURSE_ID、STUDENT_ID。

我想从另一个名为“courses”的表中插入一些值到名为“courses_students”的 mysql 表中。 用户可以在页面中看到来自“类(class)”的数据(类(class)名称、开始日期、结束日期),他们必须通过单击“参加类(class)”按钮来选择他们想参加的类(class)。

每次有人单击提交按钮时,值都会插入到 courses_students 表中,但不正确。问题是每次“courses_students”中的 COURSE_ID 都具有“courses”中最后一个 COURSE_ID 的值。而且,其他奇怪问题是值每次都被插入两次。

这是代码:

<?php 

$link = mysql_connect('localhost','root','');
if(!$link){
    die('Could not connect: '.mysql_error());
}

mysql_selectdb("db");

?>
<ul>
<?php


$sql = "SELECT * FROM courses";
$result = mysql_query($sql);

while($file = mysql_fetch_array($result)){
    echo '<ul>';
    echo '<li>';

    $STUDENT_ID = $_SESSION['ID'];  
    $COURSE_ID = $file['COURSE_ID'];  //**It dislays the CORRECT ID for each course!**
    echo 'the course id: ' .$COURSE_ID;
    echo 'course name: ' .$file['title'];
    echo 'Starting: ' .$file['start_date'];
    echo ' ending: '.$file['end_date'];
    echo '<form action="lista_cursuri.php" method="post"> <input type="submit" name="submit" value="attent course!"> </form>';
    echo '</li>';



} 

?>
</ul>

<?php

if(isset($_POST['submit'])){

$sql1 = "INSERT INTO `courses_students` (COURSE_ID,STUDENT_ID) VALUES ($COURSE_ID,$STUDENT_ID)";
$result = mysql_query($sql1);

}

?> 

我看不出问题出在哪里。也许这不是正确的程序。

最佳答案

敬礼

更改 mysql_fetch_array,它是一个多维数组,一次是数字索引,一次是字段名,它给 mysql_fetch_assoc

双重结果

并且 $COURSE_ID 总是在最后,因为对于每个循环它都会被覆盖

关于php - 从 'submit' 按钮在 PHP 中插入 mysql 值无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19957781/

相关文章:

php - 将数组转换为对象允许无效的属性名称?

mysql - 获得最大数量的产品

sql - 使用函数语法的准备语句

Java集合插入: Set vs.列表

javascript - 传递单选按钮以重定向到新页面

php - 如何使用 jQuery 在特定的点击项上显示从 php 检索到的数据?

php - 在调用 php 之前如何在 apache 中设置 REMOTE_ADDR?

mysql - 无法使用动态sql在mysql中创建表

python-3.x - Python pandas DataFrame 列插入调用

Mysql INSERT 语法错误 #1064