Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389

Как правильно вставить название столбца из переменной в pdo запросе

25.03.2020, 19:21. Показов 969. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую)
Ребят, помогите решить задачку..

Имеется
$a = 'название столбца' . $b;
$b это значение с $_GET['var']

вариант 1
PHP
1
2
3
4
$stmt = $pdo->prepare("UPDATE table SET :rss = '1' WHERE id NOT LIKE :us_ses_id");
$stmt->bindParam(':rss', $a, PDO::PARAM_STR);
$stmt->bindParam(':us_ses_id', $us_ses_id, PDO::PARAM_INT);
$stmt->execute();
не работает

вариант 2
PHP
1
2
3
4
$stmt = $pdo->prepare("UPDATE table SET ? = '1' WHERE id NOT LIKE ?");
$stmt->bindValue(1, $a, PDO::PARAM_STR);
$stmt->bindValue(2, $us_ses_id, PDO::PARAM_INT);
$stmt->execute();
не работает

попробовал еще несколько вариантов, но результат тот же..
поиск в гугл..
вариант
PHP
1
$stmt = $pdo->query("UPDATE table SET" . $pdo->quote($a) ." = '1' WHERE id NOT LIKE $us_ses_id");
не внушает доверия....

Какие есть еще варианты решения этой задачки? если это вообще возможно..
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.03.2020, 19:21
Ответы с готовыми решениями:

Как в название файла вставить значение переменной?
Добрый день. Добрый день. Долго ищю информацию о том каким образом возможно передать значение переменой в название файла куда будет...

Как сделать чтобы название переменной, было значение другой переменной?
Я хочу сделать следующее: пример: $test1 = "aver"; $test2 = "12345"; В конечном итоге, я хочу получить такой результат: $aver =...

Как получить/установить значение переменной по названию (название берется из строковой переменной)
собственно сабж

3
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
25.03.2020, 19:53
Table and Column names CANNOT be replaced by parameters in PDO.
Сделай список валидных полей, если поле валидно вставь напрямую в текст
0
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
25.03.2020, 20:50  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Сделай список валидных полей, если поле валидно вставь напрямую в текст
подробней.. не совсем понимаю о чем речь, а то что понимаю скорей всего мне не поможет
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.03.2020, 14:22
PHP
1
2
3
4
5
6
7
8
$myfield = 'rss';
$validFields = ['rss', 'blabla', ...];
 
if (!in_array($myfield, $validFields)) {
  //error part
}
 
$stmt = $pdo->prepare("UPDATE table SET {$myfield} = '1' WHERE id NOT LIKE :us_ses_id");
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.03.2020, 14:22
Помогаю со студенческими работами здесь

Как правильно сформировать запрос mysql в pdo?
Здравствуйте, У меня есть два вопроса: Как правильно сформировать массив подстановки в execute? Как создать метод save, который будет...

Как правильно использовать экземпляр PDO в своём классе?
Читал тему, но приведенный вариант в самом конце не подходит. Поэтому вынес подключние к базе в отдельный класс, где в конструкторе идет...

Использование * в PDO запросе
function f_getfiltered($db, $table, $field, $value){ $statement = $db->prepare("SELECT * FROM $table WHERE $field=:value"); ...

Как правильно достучаться к методам PDO через метод Синглтона обертки?
Есть заготовка класса Singleton для работы c PDO: <?php /* * To change this template, choose Tools | Templates * and open...

Надо вывести название переменной, тип данных переменной, значение переменной
у нас есть переменная int variable = 0; Надо вывести название переменной, тип данных переменной, значение переменной как это сделать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru