pdo шаблоны. подставить название таблицы

Тема в разделе "PHP", создана пользователем phillip, 17 апр 2011.

Модераторы: latteo
  1. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    Пишу
    PHP:
    $STH $DBH->prepare("SELECT * FROM `table` WHERE `id` = ?");
    $STH->execute(array($id));    
    $room=$STH->fetch(PDO::FETCH_ASSOC);
    получается неименованный шаблон, и все замечательно работает, айди подставляет какой надо. Но когда мне надо указать еще и таблицу, то выдает ошибку:
    PHP:
    $STH $DBH->prepare("SELECT * FROM ? WHERE `id` = ?");
    $STH->execute(array($table$id));    
    $room=$STH->fetch(PDO::FETCH_ASSOC);
    вот на такую запись уже ругается.
    Дак вот как вписать туда $table? напрямую подставить не очень хорошо, небезопасно по-моему
     
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    в pdo так нельзя оперировать с именами таблиц- нужно вручную подставлять -"SELECT * FROM $table_name WHERE `id` = ?". Небезопасность нужно тоже учитывать фильтруя table_name
     
    phillip нравится это.