2010-01-19 2 views
4

Моего конфига таблица:помощи с простым запросом

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 

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

Вышесказанное не work..well если добавить WHERE название = 'тест', а затем эхо $ конфиг [ 'название']

ответ

3
$getCfg = mysql_query("SELECT * FROM config"); 
$config = array(); 
while ($row = mysql_fetch_assoc($getCfg)) { 
    $config[$row['name']] = $row['value']; 
} 

echo $config['title']; 
4

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

echo $config['name']; 

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

+0

-1. не отвечает на вопрос. –

1

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

echo "<pre>"; 
print_r($config); 
echo "</pre>"; 
0

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

Вышесказанное не work..well если добавить WHERE название = 'тест', а затем эхо $ конфиг [ 'название']

SELECT * from config where name like 'title' 

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

echo $config['name'] 

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

Смежные вопросы