Dan*_*ern 2 php mysql concatenation
我在 mysql 查询中连接字符串时遇到问题。
这是我的查询:
SELECT *, CONCAT(nombre,' ',apellido) AS fullname FROM user WHERE nombre LIKE '%$busqueda%' OR apellido LIKE '%$busqueda%' OR email LIKE '%$busqueda%' OR about LIKE '%$busqueda%' OR place LIKE '%$busqueda%' or fullname LIKE '%$busqueda%'
Run Code Online (Sandbox Code Playgroud)
但是查询失败:
Query failed: Unknown column 'fullname' in 'where clause'
可能只是一个语法错误,谢谢
您不能在 WHERE 子句中引用别名。
\n\n\n\n可以使用 AS alias_name 为 select_expr 指定别名。别名用作表达式的列名,并且可以在 GROUP BY、ORDER BY 或 HAVING 子句中使用。
\n不允许在 WHERE 子句中引用列别名,因为执行 WHERE 子句时可能尚未确定列值。请参阅第 C.5.5.4 节,\xe2\x80\x9c 列别名\xe2\x80\x9d 的问题。
\n
你可以改变:
\n... OR fullname LIKE \'%$busqueda%\'\nRun Code Online (Sandbox Code Playgroud)\n到
\n... or CONCAT(nombre,\' \',apellido) LIKE \'%$busqueda%\'\nRun Code Online (Sandbox Code Playgroud)\n顺便说一句,所有这些 LIKE 都会使您的查询变得非常慢。您可能想查看全文搜索。
\n| 归档时间: |
|
| 查看次数: |
10587 次 |
| 最近记录: |