我目前有这个查询。
SELECT
CONCAT(`codeDoc`, '-', `prefixDoc`) AS `docId`,
`descriptionDoc`,
`statusDoc`
FROM
`BD`.`Table`
WHERE (
...
)
该查询需要一个名为searchParam
的参数的GET请求,我尝试这样做。
$searchParam = $_GET['searchParam'];
WHERE (
`docId` LIKE '%".$searchParam."%'"
)
但是它不能像我预期的那样工作,并且我理解是因为docId
不是表中的字段,它只是一个别名(AS docId
)。
问题是如何实现?
答案 0 :(得分:2)
您不能在WHERE
子句中使用别名表达式/字段。直接使用表达式。请执行以下操作:
$searchParam = $_GET['searchParam'];
WHERE (
CONCAT(`codeDoc`, '-', `prefixDoc`) LIKE '%$searchParam%'
)
侧注: You should switch to Prepared statements, to prevent SQL injection related issues。