PHP Mysql搜索前缀

时间:2018-06-24 07:05:01

标签: php mysql

我正在用PHP / MySQL做前缀搜索,但条件类似,所以记录为零。

我的参考ID为-HFCT8765865674,我要搜索42891HFCT8765865674,其中42891是我的前缀。我可以尝试使用strpos和str_replace,但无法正常工作,因为我也会从其他ID中删除前缀。

Mysql查询-

SELECT * FROM leads where reference_id like '%42891HFCT8765865674%'

2 个答案:

答案 0 :(得分:0)

如果您知道前缀是什么,则可以使用str_replace删除前缀。

$id = '42891HFCT8765865674';
$prefix = '42891';

$new_id = str_replace($prefix, '', $id);

$sql = "SELECT * FROM  leads where reference_id like '%$new_id%' OR '%$id%'";

如果您不知道前缀但知道其长度,则可以使用substr

$id = '42891HFCT8765865674';
$prefix = substr($id, 0, 5);
$new_id = substr($id, 5);

$sql = "SELECT * FROM  leads where reference_id like '%$new_id%' OR '%$id%'";

答案 1 :(得分:0)

如果前缀始终存在于字符串中并且长度始终相同:

SELECT * FROM `leads` WHERE reference_id LIKE CONCAT('%', SUBSTRING('42891HFCT8765865674' FROM 6));