Переменная в запросе ДБ

331
01 января 2018, 12:04

Делаю мультиязчность для сайта, есть запрос к дб:

$result = $db->query("SELECT id, title, date, short_content, thumbnail, cat, status FROM news ORDER BY date DESC LIMIT 10");

Надо добавить переменную с ключом языка +нижнее подчеркивание + news. Не могу соорудить запрос. Кто может, помогите. В итоге должно быть ru_news, en_news

$locale = trim(strip_tags($locale));
        echo $locale;
        $db = Db::getConnection();
        $newsList = array();
        $result = $db->query("SELECT id, title, date, short_content, thumbnail, cat, status FROM `".$locale."`_news ORDER BY date DESC LIMIT 10");
Answer 1

Наверное нужно так:

"SELECT id, title, date, short_content, thumbnail, cat, status 
FROM `".$locale."_news` 
ORDER BY date DESC 
LIMIT 10"

В двойных кавычках, емнип, можно было так:

"SELECT id, title, date, short_content, thumbnail, cat, status 
FROM `{$locale}_news` 
ORDER BY date DESC 
LIMIT 10"

Ошибка была в

`".$locale."`_news
            ^----

а нужно

`".$locale."_news`
                 ^----

Как правильно отметили в комментарии: посмотрите как правильно делать, когда хотите добавить пользовательскую подстановку в качестве выборки имени таблицы: https://ru.stackoverflow.com/a/745907/191482 (про белый список)...

READ ALSO
помогите с кодом. наследование

помогите с кодом. наследование

При создании Обьекта типа Person

338
Агрегация для чайников [требует правки]

Агрегация для чайников [требует правки]

Какие есть соотношения между классами? Сколько этих соотношений? И интересует Агрегация (я так понимаю, это один из видов отношения между...

393
Чтение из com port с++

Чтение из com port с++

Есть код

490
Чтение файла с помощью ifstream

Чтение файла с помощью ifstream

С текстом все еще хорошоИспользую:

278