它正在获取的数组的大小为2,所以如果我们注释掉$size
它返回2,但for循环只打印表列第0位的值而不是第2位的下一个给出错误:
Undefined offset: 1
代码:
$allunstitched="Select p_id from unstitchedproduct";
$resultAllUnstitched= mysqli_query($connection,$allunstitched);
$AllUnstitchedResult= mysqli_fetch_array($resultAllUnstitched);
//$size=count($AllUnstitchedResult);
for ($i=0, $count = count($AllUnstitchedResult); $i < $count; ++$i) {
print $AllUnstitchedResult[$i];
}
答案 0 :(得分:1)
你正在使用mysqli_fetch_array。此函数默认返回结果两次:按数字和列名称索引。这里结果集只有一列,所以你在数组中得到它的值两次:首先是索引0,然后是字符串索引。没有索引1。
要仅使用数字索引获取结果,请将MYSQLI_NUM作为第二个参数传递给mysqli_fetch_array:
mysqli_fetch_array($resultAllUnstitched, MYSQLI_NUM);
答案 1 :(得分:0)
如果从0开始,如果count = 5,你将有6个元素(0,1,2,3,4,5),请注意这一点。您需要循环(count-1
)次:
$count = count($AllUnstitchedResult);
for ($i=0, $i < $count-1; $i++) {
print $AllUnstitchedResult[$i];
}
答案 2 :(得分:0)
你应该做的是一个循环,它反复调用mysqli_fetch_array
来获取所有行,如下所示:
while($AllUnstitchedResult = mysqli_fetch_array($resultAllUnstitched,MYSQLI_NUM)) {
foreach ($AllUnstitchedResult as $field) {
print $field;
}
}