PHP PDO - связать имя таблицы? [Дубликат]
На этот вопрос уже есть ответ здесь:
Могут ли операторы PHP PDO принимать имя таблицы или столбца в качестве параметра? 7 ответовМожно ли связать имя таблицы?
Я хочу сделать класс для чтения столбцов из таблиц и, в зависимости от типа поля, генерировать входные данные для меня. Когда я делаю$form = new form("users");
предполагается, что конструктор должен начинаться с получения имен полей из таблицы со следующим кодом:
class form{
public function __construct($table, $skip = array("id")){
$pdo = new PDO('mysql:host=localhost;dbname=site;',USER,PASS);
$query = $pdo->prepare("DESCRIBE :table");
$query->bindValue(':table', $table, PDO::PARAM_STR, strlen($table));
$query->execute();
while($field = $query->fetch(PDO::FETCH_NUM)){
var_dump($field);
echo "<br /><br />";
}
unset($pdo);
}
}
Это прекрасно работает, когда я указываю «users» вместо «: table» в операторе prepare, но связывание работает, и я уверен, что это потому, что оно пытается связать имя таблицы. Кроме того, это должно быть связано, потому что я хотел бы иметь возможность передавать имена таблиц через$_GET
и тому подобное.