Как можно организовать такое выполнение запроса PDO с bind_param?

Есть такой запрос к бд:
$stmts = $this->db->prepare("SELECT user_id FROM usersSettings WHERE ?=?");
$stmts->bind_param("ss", $method,$percent);

В запросе первый "?" это название столбца, который должен проверяться. Увы, такой способ записи мне ничего не выводит ([num_rows] => 0). Если вместо первого ? написать конкретный столбец в таблице, то все работает корректно, каким способом можно задавать этот столбец (который должен передаваться как аргумент в функцию)?
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ответы на вопрос 2
OKyJIucT
@OKyJIucT
Sunshine reggae
Третий параметр в bind_param это тип данных параметра $method. Что у вас в этой переменной?

Вы хотите, чтобы получилось так?
"SELECT user_id FROM usersSettings WHERE ss=$method";


Попробуйте так - уберите третий параметр.
$stmts = $this->db->prepare("SELECT user_id FROM usersSettings WHERE ?=?");
$stmts->bind_param("ss", $method);
Ответ написан
@Shadowbearer
В PDO нельзя параметризировать названия таблиц и полей. Т.е. конструкции WHERE ? = ? или SELECT * FROM :table работать не будут.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
ATSAL Москва
До 20 000 руб.
Zaymigo Нижний Новгород
от 20 000 до 100 000 руб.
22 июля 2018, в 20:41
10000 руб./за проект
22 июля 2018, в 20:13
2000 руб./за проект