2011-10-07 134 views
2

不知道标题是否正是我想要做的。以下是我的工作代码。访问变量的对象属性?

 mysql_select_db($_POST[database]); 
     $table_list = mysql_query('SHOW TABLES'); 
     $tables_in_db = "Tables_in_" . $_POST[database]; 
     while ($row = mysql_fetch_object($table_list)) { 
      echo "<tr> 
        <td class='pageBody'>" . $row->$tables_in_db . "</td> 
        </tr>"; 
     } 

是否有可能以某种方式删除第4行并以$ row-> Tables_in _ {$ _ POST [database]}访问object属性?我尝试了几种不同的方法,包括各种引用和大括号的放置,我不得不求助于将整个属性分配给变量$ tables_in_db,然后使用该变量来访问该属性。

+1

** mysql_select_db($ _ POST ['database']); **只是乞求被利用 – lynks

回答

3

你有正确的想法,只是不正确的语法。变量属性可以采用单个变量($a->$b)或某个其他表达式,该表达式返回包含属性名称的字符串($a->{'b'})。

$row->{'Tables_in_' . $_POST['database']} 

旁白:使用的其他mysql_fetch_*功能,能知道列名会变得无关紧要。例如,mysql_fetch_array()mysql_fetch_row()并访问$row[0]项目。