带有通配符的MySQL LIKE语句

Nic*_*ero 0 php mysql

我正在构建一个由PHP脚本驱动的MySQL电影海报/粉丝艺术数据库.我创建了一个自动完成输入字段,用户在该字段中搜索电影标题.像所有自动填充字段一样工作,当用户开始键入电影标题时显示.

现在MySQL查询如下:

 SELECT posters FROM pictures WHERE pictures LIKE '$text%'
Run Code Online (Sandbox Code Playgroud)

上述模式匹配以键入的字母开头的每个电影标题.由于dartabase包含aprox 10.000电影标题,因此当用户键入第一个字母时,自动完成功能会有延迟.为了加速自动完成功能中的搜索查询,我想使用一种模式,该模式至少匹配字符串中的两个(或更多)字母,而不仅仅是在字符串的开头.例如,如果用户键入:

'pie' 
Run Code Online (Sandbox Code Playgroud)

自动完成功能应显示:

'American pie'
'American pie 2'
Run Code Online (Sandbox Code Playgroud)

使用MySQL通配符'_'(下划线)没有帮助.有没有一种方法可以为自动完成功能提供此功能?

谢谢

Dav*_*ude 5

SELECT posters FROM pictures WHERE pictures LIKE '%{$text}%' 
Run Code Online (Sandbox Code Playgroud)