Для вступления в общество новичков и профессионалов домен-индустрии, пожалуйста нажмите здесь ...

   
 Купля-продажа и обсуждение доменных имён
        

  
Вернуться   Форум о доменах > Дизайн и развитие проектов > Программирование
Регистрация Реноме Правила форума Справка Сообщество
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования.

Ответ
 
Опции темы
Сегодня
от 149р за .RU
Аренда сервера
2x Intel Hexa-Core Xeon E5-2420
Всего 79 евро!

с видеокартой GeForce GTX 1080 Ti
всего 99 евро!

от 149р за .РФ Реклама на DomenForum.net
Старый 08.04.2023, 00:26   #1
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,498
Доменные сделки: 24
Реноме: 1556
Одобрения
Спасибо (Отдано): 533
Спасибо (Получено): 751
Отправить сообщение для Port_Artur с помощью ICQ
WordPress: название таблицы через плейсхолдер %s

Не работает пример, если таблицу пытаюсь указать через плейсхолдер %s

PHP код:
$st $wpdb->get_results($wpdb->prepare("SELECT countr FROM %s WHERE countr=%s LIMIT 1",$db,$tr)); 
Если явно указываю таблицу к которой обращаюсь, то всё нормально.

Но мне нужно чтобы название таблицы можно было менять динамически.
Почему запрос не работает?
Port_Artur вне форума   Ответить с цитированием
Старый 08.04.2023, 00:49   #2
 
Регистрация: 01.10.2021
Сообщений: 310
Доменные сделки: 0
Реноме: 34
Одобрения
Спасибо (Отдано): 34
Спасибо (Получено): 113
Видимо, плейсхолдеры не предназначены для имен, а только для значений (литералов) аналогично таковым в подготовленных выражениях. Имена, если это необходимо, обычно контролируются при помощи белых списков.

добавлено через 7 минут
Сообщение от Port_Artur Посмотреть сообщение
Но мне нужно чтобы название таблицы можно было менять динамически.
Если уверены в корректности имени таблицы, можете переменную вставить прямо в текст запроса: FROM $db или FROM `$db` (думаю, WP других диалектов SQL кроме MySQL не знает).
__________________
Домены на продажу: https://p20.ru/collection/domains-for-sale

Последний раз редактировалось estic; 08.04.2023 в 00:56. Причина: Добавлено сообщение
estic вне форума   Ответить с цитированием
Старый 08.04.2023, 01:02   #3
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,498
Доменные сделки: 24
Реноме: 1556
Одобрения
Спасибо (Отдано): 533
Спасибо (Получено): 751
Отправить сообщение для Port_Artur с помощью ICQ
Да, похоже, что плейсхолдеры не предназначены для имён таблиц, - поставил напрямую.
Port_Artur вне форума   Ответить с цитированием
Ответ



Реклама

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 23:36. Часовой пояс GMT +4.