我试图实现一个简单的搜索工具,从数据库中搜索使用用户输入。
表格有3个字段用于输入:
但是当我一个一个的搜索时,只有最上面的一个是正常的,其他的只是给出了整个数据库记录。这是HTML表单。
<table> <tbody>
<tr>
<p style="padding:5px;">Судалгааны чиглэл:</p>
<input type="text" name="get_sudalgaa" id="search"
class="searchTerm" style="width: 81%; margin-bottom: 15px;"
placeholder="Хайх эрдэмтний овог нэрийг оруулна уу?" >
<button type="submit" name="search_by_id" value="" class="btn btn-
success searchButton" style="width: 15%; height: 40px; margin-
bottom: 8px;">Хайх</button>
</tr> </br>
<tr> <p>Овог:</p> <input type="text" name="get_ovog" id="search" class="searchTerm"> <p style="padding:5px;">Нэр:</p> <input type="text" nrame="get_ner" id="search" class="searchTerm"> </tr> </tbody> </table>
<?php $connection = mysqli_connect("localhost","root","","sci"); $connection -> set_charset("utf8"); if(isset($_POST['search_by_id'])){ $ovog=$_POST['get_ovog']; $ner=$_POST['get_ner']; $sudalgaa=$_POST['get_sudalgaa']; $query="SELECT * FROM sci_st WHERE Id='get_id' OR Ovog='$ovog' OR Ner='$ner' OR Sudalgaa='{%$sudalgaa%}'";
$query_run=mysqli_query($connection,$query); ?>
1条答案
按热度按时间eit6fx6z1#
在此类搜索表单中,如果用户提供多个字段数据(例如名、姓、研究),那么这些记录从数据库中检索所有这些关键字匹配。这意味着你应该使用**“AND”**运算符在您的SQL查询。这是一个最好的方法。如果你使用“OR”运算符,那么检索到的记录将没有有用的信息,因为每个数据字段(例如,名、姓、研究)将有自己的记录,这些记录彼此之间没有联系。
最佳方法
最好的方法是使用“AND”运算符,如@anant注解中所述,但使用AND运算符: