是否有可能使用变量进行SQL对象获取调用而不是字符串名称?
问题描述:
我想知道是否可以将表中的字段名称存储到数组中,然后通过另一个表使用先前的数组数据作为第二个sql循环的对象进行循环,例如$ foo - > $ bar,$ bar是数组中的索引。是否有可能使用变量进行SQL对象获取调用而不是字符串名称?
我希望你明白我的意思,我无法自己解释。
所以交给你的PHP和SQL的奇幻大师解释其如何正确地完成:)
// Connect to the database to gather all data pertaiing to the link in question
$assoResult = mysql_query("SELECT * FROM associate_users");
while ($assoRow = mysql_fetch_field($assoResult)) {
$resultArray[] = $assoRow->name;
}
// Connect to the database to gather all data pertaiing to the link in question
$assoResult = mysql_query("SELECT * FROM associate_users WHERE id='$getID'");
while ($assoRow = mysql_fetch_object($assoResult)) {
foreach ($resultArray as $row) {
$array = array(array(1 => $assoRow->{'$row'}, 2 => $row,),);
}
}
预先感谢您。
编辑!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
这个进一步的问题已经工作仅仅在于
foreach ($resultArray as $row) {
$array = array(array(1 => $assoRow->$row, 2 => $row,),);
}
我只需要循环添加到多维数组,而不是重写它的foreach循环的eacj迭代。
我希望这是更容易解释我的问题:)
答
也许试试这个?
$array[] = array(array(1 => $assoRow->{'$row'}, 2 => $row,),);
+0
令人遗憾的是,它只是在数组上创建了一个额外的维度,它将所有正确的数据放入数组,但它会创建与数组中索引一样多的新数组。 – zealisreal 2010-12-17 10:19:06
哦,我忘了提及的是,目前上面的代码将只显示表的最后一行,并不能分配对象获取“$ assRow - > {‘$行’}部分 – zealisreal 2010-12-13 16:43:02
尝试用简单的英语来描述你试图达到的目标(用一个输入和期望输出的例子)现在你的代码和你的描述对我来说似乎都没有任何意义 – wimvds 2010-12-13 16:51:28
最后一个数组应该包含所有行从表中选择特定用户的数据,刚刚完成了进一步测试,我已经意识到问题在于foreach循环,并且它正在重新设置每个循环上的多维数组,即Array([0] => Array( [1] => foo [2] => bar))... Array([0] => Array([1] => foo2 [2] => bar2))。 st需要它在每个循环上添加和迭代数组索引。 – zealisreal 2010-12-13 17:01:17