有一个名为'myTable'的表,其中包含列 - MyFactor1,MyFactor2和MyFactor3。我想获取这些列名,但现在它只返回'MyFactor1'。我尝试了 mysql_fetch_array / assoc / object ,但它们不起作用。你有任何想法可以解决这个问题吗?提前致谢。这是我的代码:
<?php
$aaa = mysql_query("select column_name from `information_schema`.`columns`
where `table_schema` = 'myDB' and `table_name` in ('myTable')");
foreach ($bbb = mysql_fetch_row($aaa) as $taxokey => $taxovalue) {
?>
<option value="<?php print($taxokey);?>"><?php print($taxovalue);?></option>
<?php
}
?>
答案 0 :(得分:2)
mysql_fetch_row()为结果集中的每一行返回一个数组。 foreach的初始状态调用mysql_fetch_row()一次 - 它不会为每一行调用mysql_fetch_row()。
所以你的foreach不是循环遍历行,它循环遍历返回一行的数组元素。
这是一个按照你想要的方式运行的循环:
while ($bbb = mysql_fetch_assoc($aaa)) {
$taxokey = $bbb["column_name"];
$taxovalue = $bbb["column_name"];
?>
<option value="<?php print($taxokey);?>"><?php print($taxovalue);?></option>
<?php
}
我不确定你想要的$ taxokey和$ taxovalue包含哪些不同的字符串。从您运行的查询中获得的只是一个字符串,即每列的名称。