使用PHP和MYSQL从数据库中检索数据

时间:2015-04-21 12:12:30

标签: php mysql

我想使用主键从数据库中检索数据。但是我得到了#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>

2 个答案:

答案 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" />