2009-08-21 2 views
0

J'essaie d'imprimer un ID de MySQL, le champ se charge dans un tableau et est visible via print_r mais je ne peux pas l'echo ou le transferer a une autre variable ... Qu'est-ce que je rate?PHP Impossible d'echo champ ID de la base de donnees MySQL

if ($_POST['section'] == "freelance") { 
    $field_name = "promoter"; 
} else { 
    $field_name = "connector"; 
} 
echo $row[$field_name.'_login_ID'] 

Comme demandé les résultats de var_dump ($ row)

array(13) { 
    ["connector_login_id"] => string(2) "14" 
    ["connector_type"] => string(10) "non-profit" 
    ["unique_code"] => string(9) "test-t001" 
    ["update_code"] => string(1) "N" 
    ["md5ID"] => string(0) "" 
    ["username"] => string(6) "bugger" 
    ["connectorEmail"] => string(17) "[email protected]" 
    ["password"] => string(32) "098f6bcd4621d373cade4e832627b4f6" 
    ["connectorPass"] => string(4) "test" 
    ["active"] => string(1) "Y" 
    ["modified"] => string(19) "2009-08-21 15:37:22" 
    ["lastlogin"] => string(19) "0000-00-00 00:00:00" 
    ["md5email" ]=> string(32) "051cba58da33fac6b2d18af5182079f4" 
} 
+3

S'il vous plaît poster votre code? –

+1

D'où vient le '$ row'? Pouvez-vous publier les résultats de 'var_dump ($ row)'? – deceze

Répondre

2
$row[$field_name.'_login_ID'] <-- "ID" 

array(13) { 
    ["connector_login_id"]  <-- "id" 

On dirait une simple faute de frappe à moi.

Vous pouvez également vérifier que $field_name est défini sur 'connector', car 'promoter_login_id' n'existe pas dans ce tableau.

+0

putain mais c'est embarrassant. Merci à tous ceux qui ont aidé. –

+0

La réponse standard acceptée semble être * "Argh, mon café n'a pas encore commencé." *, Mais * "Je n'aurais pas dû coder pendant 24 heures d'affilée" * fonctionne aussi bien. o) – deceze

0

Ceci est pure spéculation sans votre code, mais il est probable que le champ que vous essayez d'écho contient un trait d'union, par exemple "mytable-id", étant donné qu'il apparaît en effet lorsque vous utilisez print_r() pour imprimer le tableau entier. Si tel est le cas, vous devez utiliser { « matable-id »} pour obtenir/echo sa valeur:

echo($dataArray->MyTable->{'mytable-id'}); 

* Modifier: Je ne sais pas si votre code est de copier et coller, mais la valeur que vous essayez d'imprimer est:

echo $row[$field_name.'_login_ID']; 

au lieu de:

echo $row[$field_name.'_login_id']; 

PHP est sensible à la casse. Vous pouvez également essayer ceci:

$field_name = $field_name.'_login_id'; 
echo $row[$field_name]; 

ou

$field_name = $field_name.'_login_id'; 
echo $row['$field_name']; 
+0

Merci pour la suggestion mais je n'utilise pas de tirets et la valeur ne s'imprime toujours pas même si j'utilise echo $ row [0]. –

+0

Pas de problème, je ne faisais que deviner quelle serait la raison la plus évidente selon mon expérience. Pouvez-vous s'il vous plaît poster les résultats de var_dump ($ row) selon le commentaire Deceze sur votre question? –

+0

Solutions possibles mises à jour dans ma réponse Belinda. –

Questions connexes