使用select query我从数据库中选择一些数据。
我使用while循环获取数据。
while($row=mysql_fetch_array($query1))
{
}
现在我想只打印$ row的索引。
我尝试使用以下语句进行打印,但它会打印索引和值(Key ==> Value)
foreach ($row as $key => $value) {
echo $key ;
}
我尝试了array_keys(),但对我来说也没用。
echo implode(array_keys($row));
请帮忙解决这个问题。
我只需要打印索引。
答案 0 :(得分:2)
您将结果行作为关联数组和数字数组(默认值),请参阅mysql_fetch_array
上的手册。
如果您只需要数字数组,请使用:
while($row=mysql_fetch_array($query1, MYSQL_NUM))
顺便说一句,您应该切换到PDO或mysqli,因为mysql_*
函数已被弃用。
答案 1 :(得分:0)
你应该在Implode函数中传递分隔符(胶水文本)。
对于以逗号分隔的数组键,您可以使用以下代码。
echo implode(",",array_keys($row));
答案 2 :(得分:0)
$row
循环中的while
变量会在每次迭代时被覆盖,因此foreach
将无法按预期工作。
将每个$row
存储在一个数组中,如下所示:
$arr = array();
while($row=mysql_fetch_array($query1)) {
$arr[] = $row;
}
现在,要打印数组键,您可以使用简单的implode()
:
echo implode(', ', array_keys($arr));
答案 3 :(得分:0)
$ query1 from while($ row = mysql_fetch_array($ query1))应该是
的结果$query1 = mysql_result("SELECT * FROM table");
//then
while($row=mysql_fetch_array($query1))
获取密钥
$query = "SELECT fields FROM table";
$result = mysql_query($query);
while ($row = mysql_fetch_row($result)) {
print_r(array_keys($row));
}