为什么我没能从mysql列中获取所有值?

时间:2015-12-18 01:54:02

标签: php mysql

我很困惑地构建了一个mysql数据库,学习了php,html和css的基础知识....我无法为我的生活,看看为什么这个简单的查询没有返回表中显示的所有列值。它是一个投票站点,表名为data_(date)......在本例中为data_12_14_15。有很多列,但为了简单起见,我会坚持使用option_key,它有3个值...... 1,2,3 ....和Counter .... 0,0,4。在创建表时,所有值都使用NOT NULL填充,并且包含0,因此它们可以轻松递增,并且除了option_key(TINYINT)之外,所有列都是INT(9)。我真正追求的只是计数器,但是查询在任何一列都失败了...除了它没有失败,它只是数组永远不会得到所有的值。忏悔:当有人说他们花了2个小时时我就笑了!'在一个问题。我在这个过程中反复花了两天时间。轮到你笑了。
我已将代码缩减为零,但仍无法使其正常工作。

<?php
    include 'AV2connect.inc.php';
    include 'AV2core.inc.php';

    $query = "SELECT option_key FROM data_12_14_15";
    $result = mysqli_query($mysqli, $query);
    $row = mysqli_fetch_array($result);

    var_dump($row);
/*
  array (size=1)
  0 => string '1' (length=1)
*/
    ?>

我使用WAMP,Chrome,到目前为止运气不错。感谢。

1 个答案:

答案 0 :(得分:1)

mysqli_fetch_array()一次只能获取一行。如果要将整个结果集加载到数组中,则需要使用

$data = mysqli_fetch_all($result);

这要求您的PHP服务器安装了mysqlnd驱动程序。

您还可以使用以下任一项:

$data = mysqli_fetch_all($result, MYSQLI_ASSOC);
$data = mysqli_fetch_all($result, MYSQLI_BOTH);

第一个为您提供一个数组,其中包含按列名索引的列;第二个给出了命名列和编号列。

如果您没有安装mysqlnd(请查看phpinfo()的输出以查找),您必须在循环中调用mysqli_fetch_*来读取结果集一次记录。

希望有所帮助。