MySQL - 查询搜索以数字开头

MySQL - Query search starts with number

我有以下 MySQL 查询,用于搜索 10 - 7000 之间的展位号。该查询是 jquery 自动完成的一部分。当用户开始在字段中输入号码时,我想按起始号码搜索 - 如果完整号码有该数字则不行。

例如:

用户正在搜索 3458 号展位。当他们开始在字段“3”中输入时,系统会向他们提供包含数字 3 的所有展位号的列表(例如 1234、1436、1743 等)。我宁愿让它只显示以输入的数字开头并从中向下钻取的展位。

代码如下:

if ($conn)
{
    $ac_term = "%".$_GET['term']."%";
    $query = "SELECT * FROM schedule where booth like :term";
    $result = $conn->prepare($query);
    $result->bindValue(":term",$ac_term);
    $result->execute();

您目前在搜索词的两端都有通配符。只需删除搜索词开头的通配符,就可以了:

$ac_term = $_GET['term']."%";

只是不要在开头放百分号:

$ac_term = $_GET['term']."%";
$query = "SELECT * FROM schedule where booth like :term";
$result = $conn->prepare($query);
$result->bindValue(":term",$ac_term);
$result->execute();

并为使用准备好的语句+1!