Используйте заполнители массива pg_query_params для поиска по нескольким столбцам

0

Я передаю два разных значения в файл, один из которых введен пользователем, а другой, который выбран из предопределенного набора значений в выпадающем меню, с которым я столкнулся.

При использовании одного заполнителя для запроса он работает, например:

$result = pg_query_params($con, "SELECT * FROM chemsub WHERE name like $1", array("%".$_REQUEST['term']."%"));

Я хочу изменить запрос, чтобы пользователь мог изменить, какой столбец они ищут, я не могу заставить его работать, вот что у меня есть

$result = pg_query_params($con, "SELECT * FROM chemsub WHERE $1 like $2", array($_REQUEST['dropdown'],"%".$_REQUEST['term']."%"));

Я знаю, что правильное значение передается в файл с правильной орфографией, соответствующей имени столбца в базе данных, но по какой-то причине оно не возвращает никаких строк.

Любая помощь приветствуется.

Теги:
placeholder

1 ответ

0

Вы не можете иметь параметры вместо идентификаторов. Если вы хотите, чтобы динамический столбец был запрошен снова, вы можете либо подготовить текст запроса в php, либо посмотреть, как выглядит sql ($1 = 'foo' AND foo LIKE $2) OR ($1 = 'bar' ANd bar LIKE $2 '

  • 0
    спасибо за ответ, хотя я попробовал то, что вы предложили, и не могу заставить его работать в любом случае, какие-нибудь другие предложения?
  • 0
    @syn_p Что вы подразумеваете под "Не могу заставить его работать"? Я ничего не могу сказать, пока не увижу запрос и сообщение об ошибке.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню