Задать вопрос
Kadi
@Kadi
веб-разработчик

Как задать имя таблицы через переменную, в PDO запросе?

В общем, в базе есть свыше 50 таблиц, одинаковой структуры. Использую PDO. Необходимо записать входящие данные в ту таблицу, которая указана в переменной.
вот мой неработающий код:
(использую библиотеку Db.class.php)
$tablename = 'tablename';
$db->bind("data1", $data1);
$db->bind("data2", $data2);
$db->bind("data3", $data3);
$insert   =  $db->query("INSERT INTO $tablename(data1,data2,data3) VALUES(:data1,:data2,:data3)");
  • Вопрос задан
  • 3748 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
А что за ошибка? Так делать конечно не надо, это мягко говоря не безопасно и теряется весь смысл от PDO, но должно работать.

Table and Column names cannot be replaced by parameters in PDO. In that case you will simply want to filter and sanitize the data manually.
stackoverflow.com/questions/182287/can-php-pdo-sta...

PS и хорошо бы раз вы используете PDO указывать явно типизацию при bind.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
в базе есть свыше 50 таблиц, одинаковой структуры.

дальше можно было бы не продолжать.
поскольку после такой кривизны все остальное уже не имеет значения
Но на будущее, phpfaq.ru/pdo#identifiers
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽