【问题标题】:Make 2 mysql rows into 1 in where在 where 将 2 个 mysql 行变为 1 个
【发布时间】:2015-04-15 16:02:26
【问题描述】:

所以基本上我在编写一个人们搜索人的搜索页面 每个帐户的名称都有 2 行,例如。 John Doe 存储在 people 表 firstname = John 和 lastname = Doe 中的 2 行中 所以我的问题是,当我搜索某人时,当他们键入 John 时,它会返回 John Doe,但如果有人输入全名“John Doe”,它将不会返回任何内容 那么我怎样才能将 2 行名字和姓氏合并成一个这样的

mysqli_query($con, "SELECT firstname,lastname FROM people WHERE firstname AND     lastname = '$searchquery'");

以上只是我需要它的一个例子

【问题讨论】:

  • 只是出于好奇,您为什么要让用户有两行来存储名字和姓氏,而不是一行包含这两列?
  • “John Doe”存储在两行中?然后,您将数据描述为具有两列中的字段。请使用示例数据和所需结果编辑您的问题。

标签: php mysql


【解决方案1】:

使用CONCAT_WS。试试这个:

mysqli_query($con, "SELECT firstname,lastname FROM people WHERE CONCAT_WS(' ',firstname, lastname) = '$searchquery'");

【讨论】:

    【解决方案2】:

    在 MySQL 中,您可以合并字符串,如下所示:

    SELECT firstname,lastname FROM people WHERE CONCAT(firstname,' ',lastname) = '$searchquery'
    

    你也可以试试这个:

    SELECT firstname,lastname FROM people WHERE '$searchquery' LIKE CONCAT('%',firstname,'%',lastname,'%')
    

    【讨论】:

      猜你喜欢
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      相关资源
      最近更新 更多