我想使用主键从数据库中检索数据。但是我得到了#34;注意:未定义的索引:Enr。在第11行和第34行的D:\ xampp \ htdocs \ MM \ insert.php中没有;作为一个错误。任何人都可以帮助我吗?
PHP文件:
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'DB';
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if(mysqli_connect_error())
{
die("couldn't connect" . $conn->connect_error());
}
$Enr = $_POST['Enr. No'];
if(isset($_POST['retrieve']))
{
$retrieve = "select * from cert where Enr. No = ".$Enr;
if ($result=mysqli_query($conn,$retrieve))
{
while ($row=mysqli_fetch_row($result))
{
echo '<table cell spacing="10">
<tr>
<td>Enr. No</td>
<td>Name</td>
<td>Batch Code</td>
<td>Start Date</td>
<td>End Date</td>
<td>Course</td>
<td>Duration</td>
</tr>
<tr>
<td>'.$row[0].'</td>
<td>'.$row[1].'</td>
<td>'.$row[2].'</td>
<td>'.$row[3].'</td>
<td>'.$row[4].'</td>
<td>'.$row[5].'</td>
<td>'.$row[6].'</td>
</table>';
} mysqli_free_result($result);
$conn->close();
}
}
?>
HTML文件:
<!DOCTYPE html>
<html>
<head>
<title>**************</title>
</head>
<body>
<form method="post" action="retrieve.php">
Enr. No: <input type="text" name="Enr. No" />
Name: <Input type="text" name="Name" />
Batch Code: <input type="text" name="Batch Code" />
Start Date: <Input type="text" name="Start Date" />
End Date: <Input type="text" name="End Date" />
Course: <Input type="text" name="Course" />
Duration: <Input type="text" name="Duration" /><br /><br />
<input type="submit" name="retrieve" value="retrieve" />
</form>
</body>
</html>
答案 0 :(得分:1)
在帖子检查中添加$Enr = $_POST['Enr. No'];
。您收到此错误,因为在加载页面时不存在$_POST
数据。因此,只有在发布时才尝试访问它。
if(isset($_POST['retrieve']))
{
$Enr = $_POST['Enr. No'];
$retrieve = "select * from cert where Enr. No = ".$Enr;
请修改列名Enr. No
。
答案 1 :(得分:0)
删除名称属性中的空格和点,帖子会自动为空格和点添加下划线,因此您必须使用$_POST['Enr__No']
来检索您的案例
变化
<input type="text" name="Enr. No" />
到
<input type="text" name="EnrNo" />