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)");
  • Вопрос задан
  • 3703 просмотра
Решения вопроса 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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
04 мая 2024, в 22:32
2000 руб./за проект
04 мая 2024, в 22:10
2001 руб./за проект
04 мая 2024, в 21:12
10000 руб./за проект