我是PHP MySQL的初学者。要解释太久了,我很可能error
但conditions
中出现了错误。我发现触发问题,我发现它更有可能出现在 AND
, OR
, Input tag no value
方案
我有一个包含多个输入的搜索表单。
让我们假装这是搜索表单,由于声誉低,我无法发送图片。
G-Number: [________](这是我数据库中的唯一键)
姓名: [__________]
虚拟号码: [__________]
[搜索按钮]
使用OR条件
让我们假装我在 G-Number 中输入123456
将像这样查询:
________________________________________
| G-数|名称|虚拟号码|
------------------------------------------- ---------------------
| 123456 |约翰| 001abc |
因此,如果仅在名称中输入John
,在 G-Number 中输入123456
。这里的错误显示所有John
,即使我在G号码中输入123456
样本结果
GNumber |名称|虚拟号码
123456 |约翰| 001abc
535243 |约翰| 002efg
965235 |约翰| 002efg
使用AND条件
在这里,我需要填写所有搜索表单以便搜索它,如果我留空,它会在我的系统中说No result Found
基本上,如果我只在 G-Number 中输入123456
并保留input
空白,则无法搜索结果,因此SQL query
中的代码看起来就像这样
SELECT * FROM `subscribers` WHERE `fName` = '' AND `gNumber` = '123456' AND `virtualNumber` = '';
所以基本上,休假输入表格的价值是空格或类似''
。
这就是为什么我在寻找帮助和提示我应该在这里做什么,我现在不想使用**MySQLi**
和**PDO**
。我还在练习**MySQL**
。我想要的就是多个关键字搜索功能。
以下是我的代码:
**HTML FORM**
<form class="form-inline" role="form" method="GET" id="searchform">
<div class="form-group">
<input type="text" class="form-control" name="gnumber" placeholder="Number" style="margin-right: 2em;" >
<input type="text" class="form-control" name="name" placeholder="Input First or Last Name" style="width: 300px;margin-right: 2em;">
<input type="text" class="form-control" name="virtual" placeholder="Virtual Number" style="margin-right: 2em;">
<br/><h5 style="float:right;"><button type="submit" class="btn btn-theme02" name="search" ><i class="fa fa-check">Search</i></button></h5>
</div>
**THE PHP CODE**
if (isset($_GET['search'])) {
$gnum = htmlentities(mysql_real_escape_string($_GET['gnumber']));
$name = htmlentities(mysql_real_escape_string($_GET['name']));
$vr = htmlentities(mysql_real_escape_string($_GET['virtual']));
if (empty($globe) && empty($name) && empty($vr)) {
echo "<script> alert('Please select atleast 1 filter!')</script>";
exit;
} else {
$sql = "SELECT * FROM `subscribers` WHERE `fName` = '".$name."' OR `gNumber` = '".$gnum."' OR `virtualNumber` = '".$vr."' ";
}
if ($result=mysql_query($sql)) {
$query_num_rows = mysql_num_rows($result);
if($query_num_rows == 0){
echo "<script> alert('No Records Found!')</script>";
} else {
while($row=mysql_fetch_array($result)){
// echo of result table is here.
谢谢。
$ sql =“SELECT * FROM subscribers
WHERE”;
if (empty($globe) && empty($name) && empty($vr)) {
echo "<script> alert('Please select atleast 1 filter!')</script>";
exit;
}
if(!empty($name)){
$sql .append(`fName` = '".$name."');
}
if(!empty($gnum)){
$sql .append(`gNumber` = '".$gum."');
}
你必须遵循这种方法。我真的不知道Php语法。但方法应该是这样的。