-2

我的 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] => 24567

我需要它来检索 nDeCand 中的所有数字,而不仅仅是第一个。谁能解释为什么它不这样做?

4

5 回答 5

3

您必须使用一段时间循环遍历行。

$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>";
}
于 2013-04-19T16:47:27.977 回答
1

首先,您应该使用mysqli,而不是mysql_已弃用的函数。

除此之外,当使用 mysql_fetch_row(或 mysqli_fetch_row,在函数上下文中)时,您需要在循环中调用它:

<?php
while ($row = mysqli_fetch_row($mysqli_result)) {
    // do stuff...
}
?>
于 2013-04-19T16:49:09.687 回答
0

你忘了循环:

$res=mysql_query($query);
while($row = mysql_fetch_assoc($res))
{
    echo $row['nDeCand'];
}
于 2013-04-19T16:49:20.993 回答
0

您只是获取第一行并访问该值。您需要遍历所有行。mysql_fetch_assoc() 每次在 while 循环中调用时都会增加指向下一行的指针。这样您就可以访问所有行。这是代码: -

$result=mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
    echo $row['nDeCand'];
}
于 2013-04-19T16:52:04.183 回答
0

mysql_fetch_row只获取一行。

请尝试mysql_fetch_array,然后循环数组。

于 2013-04-19T16:52:41.590 回答