помочь с простым запросом - PullRequest
4 голосов
/ 20 января 2010

Моя таблица настроек:

name    | value
--------+------
version | 1.5.6
title   | test

Как я пытаюсь это получить:

$getCfg = mysql_query("SELECT * FROM config");
$config = mysql_fetch_assoc($getCfg);

echo $config['title'];

равно:

Notice: Undefined index: title in C:\web\index.php on line 5

Как бы я получить значение, где имя является названием?

Выше не работает .. хорошо, если я добавлю WHERE title = 'test' и затем echo $ config ['title']

Ответы [ 4 ]

4 голосов
/ 20 января 2010

Попробуйте вместо этого:

echo $config['name'];

Вам нужно проиндексировать результат mysql_fetch_assoc с именем поля из базы данных, которое называется "имя".

3 голосов
/ 20 января 2010
$getCfg = mysql_query("SELECT * FROM config");
$config = array();
while ($row = mysql_fetch_assoc($getCfg)) {
  $config[$row['name']] = $row['value'];
}

echo $config['title'];
1 голос
/ 20 января 2010

@ Андрей прав.Чтобы избежать этой проблемы в будущем, выведите содержимое объекта конфигурации:

<code>echo "<pre>";
print_r($config);
echo "
";
0 голосов
/ 20 января 2010

Как бы я мог получить значение, где имя является заголовком?

Выше не работает .. хорошо, если я добавлю WHERE title = 'test', а затем echo $ config ['title']

SELECT * from config where name like 'title'

и вы получите это значение с

echo $config['name']

Вы должны ссылаться на данные по имени столбца, SQL не ищет вас автоматически, хотя это будет убийственно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...