MySQL获取单行上的所有数据

时间:2013-04-19 16:44:48

标签: php html sql database

我的PHP代码有问题从SQL数据库检索信息,数据库看起来像

My data base 我的代码如下:

$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中的所有数字,而不仅仅是第一个。 任何人都能解释为什么不这样做吗?

5 个答案:

答案 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,然后循环播放数组。