Я передаю в файл два разных значения, одно из которых введено пользователем, а другое выбрано из предопределенного набора значений в раскрывающемся меню, с которым у меня возникают проблемы.
При использовании одного заполнителя для запроса он работает, например:
$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']."%"));
Я знаю, что правильное значение передается в файл с правильным написанием, совпадающим с именем столбца в базе данных, но по какой-то причине он не возвращает строк.
Любая помощь приветствуется.
Вы не можете иметь параметры вместо идентификаторов. Если вы хотите, чтобы динамический столбец запрашивался снова, вы можете либо подготовить текст запроса в php, либо сделать sql похожим на ($1 = 'foo' AND foo LIKE $2) OR ($1 = 'bar' ANd bar LIKE $2
.`
Других решений пока нет …