2010-01-19 3 views
4

Ma table de configuration:aide requête simple

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

Comment j'essayer de l'obtenir:

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

echo $config['title']; 

Égal à:

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

Comment pourrais-je obtenir la valeur où la le nom est le titre?

Le ci-dessus ne work..well pas si j'ajouter WHERE title = 'test', puis echo $ config [ 'title']

Répondre

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

echo $config['title']; 
4

Essayez ceci:

echo $config['name']; 

Vous devez indexer le résultat de mysql_fetch_assoc avec le nom de champ de la base de données qui est "nom".

+0

-1. ne répond pas à la question. –

1

@Andrew a raison. Pour éviter ce problème à l'avenir, imprimer le contenu de l'objet de configuration:

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

Comment puis-je faire pour obtenir la valeur où le nom est le titre?

Ce qui précède work..well pas si j'ajouter WHERE title = 'test', puis echo $ config [ 'title']

SELECT * from config where name like 'title' 

et vous obtenez cette valeur avec

echo $config['name'] 

vous devez vous référer aux données par le nom de colonne, SQL ne recherche pas automatiquement pour vous, même si ce serait tueur ...