PHP无法从MySQL数据库回显ID字段

时间:2009-08-21 04:58:55

标签: php mysql primary-key

我正在尝试从MySQL打印一个ID,该字段加载到一个数组中并通过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 个答案:

答案 0 :(得分:2)

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

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

对我来说似乎是一个简单的错字。

或者,您确定$field_name设置为'connector',因为此数组中不存在'promoter_login_id'

答案 1 :(得分:0)

这纯粹是在没有你的代码的情况下推测,但是你想要回声的字段很可能包含一个连字符,例如: “mytable-id”,考虑到当你使用print_r()打印整个数组时它确实显示出来。如果是这种情况,您需要使用{'mytable-id'}来获取/回显它的值:

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'];