为什么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>
答案 0 :(得分:1)
代码中没有name=id
的元素。
然而,你不关心SQL injection
(你期望的id(数字),所以... WHERE student_id = " . (int)$id . " ...
),学生姓名在$position
变量......但主要问题是,没有name = id元素,因此$_REQUEST['id']
(又名$_POST['id']
)不存在。