MySQL - 查询搜索以数字开头

时间:2017-02-24 20:03:34

标签: mysql sql select sql-like

我有以下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();

2 个答案:

答案 0 :(得分:2)

请不要在开头添加百分号:

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

使用准备好的声明+1!

答案 1 :(得分:1)

您目前在搜索字词的两端都有通配符。只需从搜索词的开头删除外卡,你应该没问题:

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