Почему не срабатывает запрос? PDO

zerolvl

Новичок
PHP:
$pdo = new PDO('mysql:host=localhost;dbname=shop', 'root', '', $opt);
$num = '1';
$fields = 'title';
$stm = $pdo->prepare('SELECT ? FROM products WHERE id=?');

$stm->bindValue(1, $fields, PDO::PARAM_STR);
$stm->bindValue(2, $num, PDO::PARAM_INT);
$stm->execute();

$data = $stm->fetchAll();
var_dump($data);
Экспериментирую с PDO. Без вставки полей работает.
Вот что показывает vardump
Код:
array (size=1)
  0 =>
    array (size=1)
      'title' => string 'title' (length=5)
title содержит другое значение в бд.
если ввести "руками":
Код:
'SELECT title FROM products WHERE id=?'
то работает.
 

fixxxer

К.О.
Партнер клуба
Руками ты вводишь другой запрос. Запрос, который у тебя получается, выглядит так:

SELECT 'title' FROM products WHERE id=1

Подставить имена полей с использованием prepared statements нельзя. Только значения.
 
Сверху