php mysql通过第一个首字母搜索
|
我在mysql数据库中有一个成员目录。我希望用户能够通过名字或名字的名字首字母进行搜索。我目前有一些代码,允许按首字母搜索,但显示带有字母的任何名称,无论它是否是第一个字母。我如何将其设置为仅在凋谢名称的首字母与所选字母匹配时返回?
$sql=\"SELECT ID, FirstName, LastName FROM stafftest WHERE FirstName LIKE \'%\" . $letter . \"%\' OR LastName LIKE \'%\" . $letter .\"%\'\";
没有找到相关结果
已邀请:
3 个回复
畦桨存灯
我所做的就是删除前一个%符号。百分号告诉mysql like语句匹配任何字符。因此,实际上,您告诉它:\'匹配任何字符(包括开始和结束字符),然后找到字母L,然后匹配任何字符。\'。将其更改为最后只使用1%即可解决您的问题。 此外,如果可以的话,最好使用准备好的语句。 PDO对此非常方便。
厢界山攀
注意:您需要使用通配符字符串构造一个PHP变量,并绑定该变量,而不是在查询中将通配符放在占位符周围。
凸晴
正则表达式 在MySQL中进行模式匹配 快乐2帮助:)