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

时间:2014-11-19 08:56:16

标签: php mysql

<?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

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

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

我想要的是什么:
更新前的表格
| matricNo |场地|
| M7010 | NULL |

更新后的表格
| matricNo |场地|
| M7010 |巴黎|

*如果选择巴黎

感谢。

1 个答案:

答案 0 :(得分:0)

由于您使用的是get表单,因此会更改您的get参数。您必须在表单中将您的ID添加为隐藏字段。 使用帖子表格更改数据也会更好。

您还应该阅读SQL注入; - )