我编写了一个简单的函数来循环并显示sql表中的所有变量。 但是foreach $ row显示两次行,1次作为行名称,1次作为行号。
1:$ row ['NAME']姓名表
2:$ row [0]'数字表
PHP:
<?php
include "condetails.php";
$query = "select * from pagedetails";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
foreach($row as $var => $val) {
echo "VARNAAM :".$var;
echo "<br />";
echo "VALUE".$val;
echo "<br />";
echo "<br />";
}
}
?>
输出:
VARNAAM:0 VALUE1
VARNAAM:id VALUE1
VARNAAM:1 VALUEdddd
VARNAAM:h1txt VALUEdddd
答案 0 :(得分:1)
它显示两次,因为mysql_fetch_array()
获取列名称及其编号。
如果你只想要列名称尝试使用mysql_fetch_assoc()
,请记住mysql_ *函数是折旧的,你应该使用PDO / MySQLi:)
答案 1 :(得分:0)
mysql_fetch_array返回一个混合数组,其中键作为数字和列名。您可能需要mysql_fetch_assoc(),它只返回名称密钥。
答案 2 :(得分:0)
来自the manual:
mysqli_fetch_array()是mysqli_fetch_row()函数的扩展版本。 除了将数据存储在结果数组的数字索引中之外,mysqli_fetch_array()函数还可以使用结果集的字段名作为键将数据存储在关联索引中。
你真正想要的是mysqli_fetch_assoc()
:
返回与获取的行对应的关联数组,如果没有其他行,则返回NULL。