查询数据库以找到客户?

时间:2015-05-01 03:36:00

标签: php html mysql

<html>
<head>
<title>Form for query</title>
</head>

<body>
<?php
  include('../connect.php');

if (isset($_POST['Name'])) {
  $name = $_POST['Name'];
}

if(!empty($name)) {

  $sql = "SELECT * from customers where Name = $name";

  $query = mysqli_query($db,$sql)
    or die("Cannot query the database.<br>" . mysql_error());

  $num_rows = mysqli_num_rows($query);
  if ($num_rows == 0) {print "There is no record with that id";}

  print "<table align=\"left\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">\n";

  while($result = mysqli_fetch_array($query)) {
        $name = $result["Name"];
?>

<table>
  <tr>
    <td> <?php echo 'Customer:  '. $name; ?> </td>
  </tr>
</table>

<?php
  }
  } else {

?>

<html>
<body>

<form action="http://localhost/php/find_customer.php" method="post">

<tr>
    <td><b>Enter customer name:  </b></td>
    <td><input type="text" name="Name" size="30"></td>
</tr>
<br>
<tr>
        <td><input type="submit" name="upload" value="Submit"></td>
        <td><input type="reset" name="reset" value="Reset"></td>
</tr>

</table>
</form>

<?php
  }
?>

</body>
</html>

所以这里应该发生的是我在我的数据库中搜索用户输入,这是一个名字。我在按ID搜索时工作正常,但现在当我尝试搜索它时说“无法查询数据库。”

'../ connect.php'是我的数据库的连接,客户是我的数据库中的一个表,而Name是其中的一行,我认为其他一切都应该是不言自明的。我真的不明白为什么它与ID一起使用但现在不能正常工作。

1 个答案:

答案 0 :(得分:1)

您需要name左右的引号 试试这个:

$sql = "select * from customers where Name = '$name'";