Можно ли вставить в подготовленное выражение имя столбца как параметр?

При использовании подготовленного выражения в Mysqli:

$stmt = $db->prepare("SELECT * FROM `users` WHERE ? = ?");
$stmt->bind_param('ss', $condition, $value);
$stmt->execute();
$stmt->get_result()->fetch_all(MYSQLI_ASSOC);

возвращается пустой массив. Ошибок никаких не выдается. При этом если вставлять условие в запрос напрямую:

$stmt = $db->prepare("SELECT * FROM `users` WHERE " . $condition . " = ?");
$stmt->bind_param('s', $value);
$stmt->execute();
$stmt->get_result()->fetch_all(MYSQLI_ASSOC);

все работает как надо. Это механизм подготовленных выражений не поддерживает такую возможность(точно знаю что, если передавать имя таблицы как параметр, это вызовет ошибку, но тут ее нету) или я что-то делаю неправильно?

Прошу не кидаться тапками - гуглил, но ответа не нашел. Буду признателен за помощь.


Ответы (0 шт):