предложение ГДЕ с полем конкат - PullRequest
0 голосов
/ 17 сентября 2018

У меня сейчас есть этот запрос.

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

этот запрос ожидает запрос GET с параметром searchParam, я пытаюсь это сделать.

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

Но это не работает так, как я ожидал, и я обязуюсь, потому что docId - это не поле в моей таблице, а только псевдоним (AS docId).

Вопрос в том, как этого добиться?

1 Ответ

0 голосов
/ 17 сентября 2018

Вы не можете использовать псевдонимы / поля в предложении WHERE.Вместо этого используйте выражение напрямую.Выполните следующие действия:

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

SideNote: Вам следует переключиться на подготовленные операторы, чтобы избежать проблем, связанных с внедрением SQL .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...