我很困惑地构建了一个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,到目前为止运气不错。感谢。
答案 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_*
来读取结果集一次记录。
希望有所帮助。