<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一起使用但现在不能正常工作。
答案 0 :(得分:1)
您需要name
左右的引号
试试这个:
$sql = "select * from customers where Name = '$name'";