Получение массива из функции PHP - PullRequest
1 голос
/ 19 сентября 2011

Моя таблица БД выглядит так

enter image description here

Я пытаюсь получить заголовок и содержимое страницы с помощью этой функции

function page($current, $lang){
    global $db;
    $txt='txt_'.$lang;
    $title='title_'.$lang;
    $data=$db->query("SELECT '$txt', '$title' FROM pages WHERE `id`='$current'");
    $data=$data->fetch_array(MYSQLI_BOTH);
    return $data;
}

Затем в начале страницы индекса получаем значения массива

$data=page($id, $lang);

И используя, как этот пример

<title><?=$data[1]?></title>

Но каждый раз получаю один и тот же результат title_en (en - моя языковая переменная.). Что не так с моим кодом?

1 Ответ

6 голосов
/ 19 сентября 2011

Не используйте одинарные кавычки для ваших полей MySQL интерпретирует это как строку.

$data=$db->query("SELECT $txt, $title FROM pages WHERE `id` = $current");

В качестве альтернативы вы можете использовать backticks в MySQL. Но обратите внимание, что $current все равно не должно иметь их, предполагая, что это целочисленное поле.

$data=$db->query("SELECT `$txt`, `$title` FROM pages WHERE `id` = $current");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...