句子在哪里与字段连在一起

时间:2018-09-17 13:13:42

标签: php mysql sql database

我目前有这个查询。

SELECT
    CONCAT(`codeDoc`, '-', `prefixDoc`) AS `docId`,
    `descriptionDoc`,
    `statusDoc`
    FROM
    `BD`.`Table`
    WHERE (
       ...
    )

该查询需要一个名为searchParam的参数的GET请求,我尝试这样做。

$searchParam = $_GET['searchParam'];
WHERE (
   `docId` LIKE '%".$searchParam."%'"
)

但是它不能像我预期的那样工作,并且我理解是因为docId不是表中的字段,它只是一个别名(AS docId)。

问题是如何实现?

1 个答案:

答案 0 :(得分:2)

您不能在WHERE子句中使用别名表达式/字段。直接使用表达式。请执行以下操作:

$searchParam = $_GET['searchParam'];
WHERE (
   CONCAT(`codeDoc`, '-', `prefixDoc`) LIKE '%$searchParam%'
)

侧注: You should switch to Prepared statements, to prevent SQL injection related issues