如何选择两行串联的项目就像输入一样


how to select items that concatenation of two rows is like input

我有MySQL表,用户:(id,first_name,last_name,....)

我想做类似这个伪查询的事情

SELECT * FROM users WHERE first_name.' '.last_name = 'john doe' LIMIT 10")

我想这样做,因为我在拆分字符串时遇到很多麻烦(然后我不知道用户以什么顺序键入'

这是我的电流,工作不是很好

$phrase = explode(' ',$term);
$last_name = '';
if($phrase[1] != '')
    $last_name= " OR last_name LIKE '%".$phrase[1]."%'";
$qstring = "SELECT usuarios.first_name,usuarios.last_name,
                    usuarios.id as id
            FROM usuarios
            WHERE first_name LIKE '%".$phrase[0]."%' OR last_name LIKE '%".$phrase[0]."%' $last_name LIMIT 5";

任何实现此目的的建议(通过在查询时连接或在 php 时拆分)将非常受欢迎

您可以使用

CONCAT在MySQL查询中连接:

SELECT * FROM users WHERE CONCAT(first_name,' ',last_name) = 'john doe' LIMIT 10

在您的代码中,这将变为:

SELECT * FROM usuarios WHERE CONCAT(first_name,' ',last_name) LIKE '%{$phrase[0]}%' LIMIT 5

像这样的东西?

SELECT first_name, last_name, id
FROM usuarios
WHERE CONCAT(first_name, last_name) LIKE '%$phrase[0]%' LIMIT 5