我的PHP代码有问题从SQL数据库检索信息,数据库看起来像
我的代码如下:
$query="SELECT nDeCand FROM `candidats`";
$res=mysql_query($query);
$row = mysql_fetch_row($res,MYSQL_NUM);
$num= count($row);
echo "Printed Array: </br>";
echo "<pre>";
print_r($row);
echo "</pre>";
它打印出来:
阵列
(
[0] =&gt; 24567个
)
我需要它来检索nDeCand中的所有数字,而不仅仅是第一个。 任何人都能解释为什么不这样做吗?
答案 0 :(得分:3)
您必须使用while循环遍历行。
$query="SELECT nDeCand FROM `candidats`";
$res=mysql_query($query);
while($row = mysql_fetch_row($res,MYSQL_NUM)) {
$num= count($row);
echo "Printed Array: </br>";
echo "<pre>";
print_r($row);
echo "</pre>";
}
答案 1 :(得分:1)
首先,您应该使用mysqli,而不是弃用的mysql_
函数。
除此之外,当在函数上下文中使用mysql_fetch_row(或mysqli_fetch_row)时,您需要在循环中调用它:
<?php
while ($row = mysqli_fetch_row($mysqli_result)) {
// do stuff...
}
?>
答案 2 :(得分:0)
你忘了循环:
$res=mysql_query($query);
while($row = mysql_fetch_assoc($res))
{
echo $row['nDeCand'];
}
答案 3 :(得分:0)
您只获取第一行并访问该值。您需要循环遍历所有行。每次在while循环中调用时,mysql_fetch_assoc()都会将指针递增到下一行。这样您就可以访问所有行。这是代码: -
$result=mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
echo $row['nDeCand'];
}
答案 4 :(得分:0)
mysql_fetch_row
只提取一行。
尝试mysql_fetch_array
,然后循环播放数组。