【问题标题】:PHP: LIKE after space?PHP:喜欢空格后?
【发布时间】:2010-09-14 18:44:41
【问题描述】:

现在我有一个名为 full_name 的列,其中存储了名字和姓氏。它被一个普通的空格分隔,所以一个名字是这样存储的:“Firstname Lastname”。现在当我做这个搜索用户功能时,我有这个:

$query = "SELECT full_name, id, user_name, sex, last_access, bostadsort FROM users WHERE full_name LIKE '$searchUser%'"; 

如果您按名字搜索,它会非常有用。我希望如果你输入“姓氏”,那么用户也会出现。

现在我发现这完全是我的错,我一开始有 1 列作为 full_name 而不是 firstname lastname 列。

所以我想知道是否可以在不创建两个新列并更改其余代码以使用 firstname lastname 新列的情况下执行此操作..?

我正在使用 MySQL

【问题讨论】:

    标签: php mysql


    【解决方案1】:
    full_name LIKE '$name%' OR full_name LIKE '% $name'
    

    但是,您应该将此列拆分为两个单独的列。多个名字/姓氏呢?

    【讨论】:

      【解决方案2】:

      我的建议是将它们放在 2 个不同的字段中。否则,在字符串的开头也使用 % 通配符。

      【讨论】:

        【解决方案3】:
        ... WHERE full_name LIKE '$searchUser%' OR full_name LIKE '%$searchUser' OR full_name LIKE '%$searchUser%'
        

        这样可以吗?

        【讨论】:

          【解决方案4】:

          在变量前面放一个 % 表示要匹配最后的项目,后面放一个 % 表示要匹配前面的项目,前后各放一个 % 表示项目你要匹配的是在中间。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-09-20
            • 1970-01-01
            • 2015-05-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-07-26
            • 2017-10-25
            相关资源
            最近更新 更多