为什么php显示没有错误,但它不能显示我想要的


Why the php show no error but it cant show what I want?

为什么php显示没有错误,但它不能显示我想要的?我想要的是从数据库中搜索位置并将其回显出来。

<?php
    require ('sql_connect.php');
    $id= $_REQUEST['id'];
    $sql1 = mysql_query("SELECT name FROM student WHERE student_id ='$id' ");
    $q = mysql_fetch_array($sql1);
    $position = $q['name'];
    echo ($position);
?>
HTML

    <html>
    <head>
    </head>
    <body>
    <form onsubmit="return formValidator()" action="insert2.php" method="post">
    <p>
        Student Id :<?php echo $position; ?>
    </p>
    <p> 
            Password :<input type="password" id="password" name="password"/>
            <input type="checkbox" name="option" value='1' 
            onchange="document.getElementById('password').type = this.checked ? 'text' : 'password'"/>
    </p>
    <p>
        Name :<input type="text" id="name" name="name" />
    </p>
    <p>
            Email :<input type="text" name="email" id="email" name="email"/> 
    </p>
    <p>
            Contact Number :<input type="text" id="contactnumber" name="contactnumber"/> 
    </p>
    <input type="submit" value="Register" />
    </form>
    </body>
    </html>

您的代码中没有包含name=id的元素

那么,你不关心SQL injection(你期望的id (number),所以... WHERE student_id = " . (int)$id . " ...),学生名字在$position变量中…但主要的问题是,没有name=id元素,所以$_REQUEST['id'](又名$_POST['id'])不存在。