Php 搜索实际上正在工作,但返回的值超过1个

Php 搜索实际上正在工作,但返回的值超过1个,php,Php,我正在数据库中搜索至少一个数据。我还希望看到数据库中返回的所有同名数据。但是当我只搜索一个数据时,它总是返回数据库中的所有数据 以下是我正在执行的“搜索”代码: // $_POST['search'] is for the button if (isset($_POST['search'])) { // $_GET['prodName'] column name in the database $search = isset($_GET['prodName']); $sql = "SELE

我正在数据库中搜索至少一个数据。我还希望看到数据库中返回的所有同名数据。但是当我只搜索一个数据时,它总是返回数据库中的所有数据

以下是我正在执行的“搜索”代码:

// $_POST['search'] is for the button
if (isset($_POST['search'])) {
 // $_GET['prodName'] column name in the database
 $search = isset($_GET['prodName']);
 $sql = "SELECT * FROM `newitem` WHERE `prodName` = '$search'";
 $result = mysqli_query($conn, $sql);
 if (mysqli_num_rows($result) > 0) {
  while ($row = mysqli_fetch_assoc($result)) {
   echo "result found";
  }
 } else {
  echo "result not found";
 }
}
这是用于HTML的:

<form method="POST" action="" class="form-horizontal">
 <div class="form-group">
  <label for="search" class="control-label col-md-2">Search</label>
  <div class="col-md-8">
   <input type="text" name="search" class="form-control" id="search" placeholder="Search Product Name">
  </div>
  <div class="col-md-2">
   <input type="submit" name="search" class="btn btn-info" value="SEARCH">
  </div>
 </div>
</form>
它有一个错误,上面写着:

Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW) in C:\wamp\www\OrderingSystem\account.php on line 142
请帮我拿这个。 非常感谢

我也尝试这样做:
if(mysqli\u num\u行($result)=>1)

=>
是关联数组的分隔符,这就是为什么您目前会遇到该解析错误

您可能打算使用的是
=
或只是简单的
,如“高于或等于”或“高于”

那么,这将使您失败,因为它将始终被视为“已设置”

将其更改为:

$search = $_GET['prodName'];
或者你可能打算把它当作一个工具

例如:

$var = !empty($_GET['var']) ? $_GET['var'] : "";
另外,您的代码对SQL注入开放。使用事先准备好的陈述

其他参考资料:


您的代码可能包含语法错误。 请参考以下链接和 并将其应用到代码中

根据
$result=mysqli\u查询($conn,$sql)检查错误

添加到文件的顶部,这将有助于查找错误

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

在查询中使用限制1以获得单个结果您可以使用限制1。这是失败的
isset($\u get['prodName'])
如果(mysqli_num_rows($result)=>1)
符号颠倒了,那么这个
符号就颠倒了。@AlanMachado对不起,我现在有点不知所措了
$var = !empty($_GET['var']) ? $_GET['var'] : "";
<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code