我对mysqli_fetch_array不熟悉,似乎无法解决这个问题。我有以下代码:
function select_fetch_row ($arg1, $arg2) {
$con = new mysqli(/* ... */);
$query = "SELECT $arg1 FROM $arg2";
$select = mysqli_query($con, $query);
while($row = mysqli_fetch_array($select, MYSQLI_NUM)){
echo $row[0];
}
}
select_fetch_row(/* parameters*/);
但是我不明白它应该做什么。我期望获得一个数组,其中每个键对应于我的表中的一行,但是当我输出我的代码时,而不是只是让第一行($row[0]
)的值回显,所有的值都是专栏得到回应。有人可以说明这个功能是如何运作的吗?
答案 0 :(得分:1)
while($row = mysqli_fetch_array($select, MYSQLI_NUM)){
echo $row[0];
}
您在一个数组中逐个获取行,不是。因此,每个$ row变量在表中都有一行,每个键包含一个列值。因此,当您回显$ row [0]时,您将显示您返回的行的第一列。
如果将参数MYSQLI_NUM更改为MYSQLI_ASSOC,您将更好地了解发生了什么(数组键将包含列名而不是整数)。
如果你想一次性获取所有行,你可以使用mysqli_fetch_all代替,这将为你提供一个大数组,每个键包含一行。