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