现在我有一个名为full_name的列,其中存储了名字和姓氏。它由普通空格分隔,因此名称存储如下:“名字姓氏”。现在,当我使这个搜索用户功能,我有这个:
$query = "SELECT full_name, id, user_name, sex, last_access, bostadsort FROM users WHERE full_name LIKE '$searchUser%'";
通过查找是否使用名字进行搜索,效果很好。我希望如果您输入“姓氏”,那么用户也会出现。
现在我发现这完全是我的错,我开始有一个列为full_name而不是firstname lastname列。
所以我想知道我是否可以在不创建两个新列的情况下执行此操作并更改其余代码以使用firstname lastname新列...?
我正在使用MySQL
答案 0 :(得分:2)
full_name LIKE '$name%' OR full_name LIKE '% $name'
但是,您应该将此列拆分为两个单独的列。多个姓氏/姓氏怎么样?
答案 1 :(得分:2)
我的建议是将它们放在两个不同的字段中。否则在字符串的开头使用%wildcard。
答案 2 :(得分:1)
... WHERE full_name LIKE '$searchUser%' OR full_name LIKE '%$searchUser' OR full_name LIKE '%$searchUser%'
那会吗?
答案 3 :(得分:1)
在变量前加一个%来表示你想要匹配最后的项目,后面的%表示你想要匹配前面的项目,前面和后面的%表示项目你想要匹配是在中间。