我有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