单击按钮后无法更新到数据库


Cannot update into database after click button

<?php
$id=$_GET['id'];
ini_set('display_errors', 'Off');
$con = mysql_connect("localhost","root","");
$db1 = mysql_select_db("test",$con);

     mysql_select_db("test", $con);
        $sql1="SELECT * from Vexamvenue" ;
        $result1 = mysql_query($sql1);
        while($row1 = mysql_fetch_array($result1))
        {
    if($row1['matricNo']==$id and $row1['venue']=='')
            {
                ?>
            <form name="myform" method="GET">
            <table border="0" cellpadding="0" cellspacing="0" width="50%">
            <tbody>
            <tr>
            <td><input name="q1" type="radio" value="paris">paris</td>
            <td><input name="q1" type="radio" value="london" >london</td>
            <td><input name="q1" type="radio" value="china" >china</td>
            </tr>
            </tbody>
            </table>
            <button type="submit">Update</button>
            </form> 
            <?php
            $b = $_GET['q1'];       
            echo $b;
            mysql_select_db("test", $con);
            $query2=("UPDATE enrl_student SET venue = '$b' WHERE matricNo = '$id';")  ;
            $query2testing = mysql_query($query2); 
            break;
        }
        elseif($row1['matricNo']==$id and $row1['venue']!='')
        {
            echo "already choose";
            break;
        }
    }
    ?>

您好,这是我使用单选按钮选择考试地点的完整代码。问题是,当我选择考点并提交时,它不会更新到数据库中。

我输入$id=$_GET['id'];因为要获得会话。 意思是我的网址类似exam.php?id=M7010

错误是:注意:未定义的索引:id在/srv/www/htdocs/moodle/exam.php在第2行

如果未定义的索引:id,那么它如何通过第一个条件。

我想要什么 :
更新
前的表|矩阵号|地点|
|M7010 |空 |

更新
后的表|矩阵号|地点|
|M7010 |巴黎|

*如果选择巴黎

谢谢。

由于您使用的是 get 表单,因此它会更改您的 get 参数。您必须在表单中添加您的 id 作为隐藏字段。最好使用帖子表单来更改数据。

您还应该阅读有关SQL注入的信息;-)