使用 BETWEEN 的 PHP 搜索不起作用

标签 php mysql

我创建了两个字段,用于在两个条目之间进行搜索。通过使用 GET 方法。

<form name="search">
  <input name="to" id="to" type="text" />
  <input name="end" id="end" type="text" />
  <input name="submit" id="submit" type="submit" />
</form>
<table border="1">
  <tr>
    <td>Name</td>
  </tr>
<?php

if(isset($_GET['submit'])){

$db_host="localhost";
$db_username="root";
$db_password="";
$db_name="administrator";
$db_tb_name="customer_details";
$db_tb_usr_name="name";
$db_tb_npkgr_name="no_of_pkg";

mysql_connect("$db_host","$db_username","$db_password");
mysql_select_db("$db_name");

$s_name=mysql_real_escape_string($_GET['to']);
$m_name=mysql_real_escape_string($_GET['end']);

$query_for_result = mysql_query("SELECT * FROM $db_tb_name WHERE 
$db_tb_npkgr_name BETWEEN '%".$s_name."%' AND '%".$m_name."%'");

while($data_fetch=mysql_fetch_array($query_for_result))
{
?>
  <tr>
    <td><?php echo substr($data_fetch[$db_tb_usr_name], 0,160); ?></td>
  </tr>
<?php } mysql_close(); }?>
</table>

在这段代码中,输出没有显示任何内容,但是当我使用一个字段进行搜索时,它就可以正常工作。

这里是单一搜索的工作代码。我在这里使用 LIKE 运算符。

<form name="search">
  <input name="to" id="to" type="text" />
  <input name="submit" id="submit" type="submit" />
</form>
<table border="1">
  <tr>
    <td>Name</td>
  </tr>
<?php

if(isset($_GET['submit'])){

$db_host="localhost";
$db_username="root";
$db_password="";
$db_name="administrator";
$db_tb_name="customer_details";
$db_tb_usr_name="name";
$db_tb_npkgr_name="no_of_pkg";

mysql_connect("$db_host","$db_username","$db_password");
mysql_select_db("$db_name");

$s_name=mysql_real_escape_string($_GET['to']);

$query_for_result = mysql_query("SELECT * FROM $db_tb_name WHERE 
$db_tb_npkgr_name LIKE '%".$s_name."%'");


while($data_fetch=mysql_fetch_array($query_for_result))
{
?>
  <tr>
    <td><?php echo substr($data_fetch[$db_tb_usr_name], 0,160); ?></td>
  </tr>
<?php }
mysql_close(); }?>
</table>

这段代码效果很好。但是当我使用 BETWEEN 时,它不会在输出中显示任何内容。 怎么了?解决方案是什么?

谢谢。

最佳答案

BETWEEN 不像 LIKE 命令那样工作。您不能使用通配符 (%) 字符。尝试删除它们。

关于使用 BETWEEN 的 PHP 搜索不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20335279/

相关文章:

PHP打印每月用户登录百分比

MySQL UNION 查询语法问题

javascript - Codeigniter - 当选择客户并向他们显示信息时

PHP:删除给定ID的另一个 session

javascript - 打印值前的空白(红点)

php - 从mysql获取数据到android中的 ListView 只显示表中的第一项如何修复?

mysql - 使用 MySQL 添加分钟数

php - 更新mysql,无感

java - Spring Schema 注册表服务器和 MySQL

mysql - 从两个连接表中查询总和的性能最明智的查询