PHP не удается отобразить поле идентификатора из базы данных MySQL - PullRequest
0 голосов
/ 21 августа 2009

Я пытаюсь распечатать идентификатор из MySQL, поле загружается в массив и отображается через print_r, но я не могу отобразить его или перенести в другую переменную ... что мне не хватает?

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

В соответствии с запросом результатов 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) "gzigner@gmail.com"
   ["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"
} 

Ответы [ 2 ]

2 голосов
/ 21 августа 2009
$row[$field_name.'_login_ID']   <-- "ID"

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

Мне кажется, что это просто опечатка.

В качестве альтернативы вы уверены, что $field_name имеет значение 'connector', поскольку 'promoter_login_id' не существует в этом массиве.

0 голосов
/ 21 августа 2009

Это чисто предположение без вашего кода, но вероятно, что поле, которое вы пытаетесь отобразить, содержит дефис, например, «mytable-id», учитывая, что он действительно отображается, когда вы используете print_r () для распечатки всего массива. Если это так, вам нужно использовать {'mytable-id'}, чтобы получить / echo его значение:

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

* Редактировать : Я не знаю, скопирован ли и вставлен ваш код, но значение, которое вы пытаетесь напечатать, равно:

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

вместо:

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

PHP чувствителен к регистру. Вы также можете попробовать это:

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

или

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