我在MySQL中有一个数据库,我正在使用此查询从PHP中选择某些行:
$q = "SELECT Number, Body
FROM boxes
WHERE Number BETWEEN '1' AND '4' ORDER BY Number ASC";
然后调用查询并启动数组:
$r = $mysqli->query($q);
$row = mysqli_fetch_array($r, MYSQLI_ASSOC);
$array = array();
$content = array();
然后尝试将结果排序为关联数组,其中'number'是键,'body'是值。
while ($row = mysqli_fetch_assoc($r)) {
$array = array(
$content[$row['Number']] = $row['Body']
);
这样可以正常工作,除非它不存储第一个值。这是print_r($ content);的结果,缺少第一行。
Array ( [2] => This is entry two [3] => This is entry three [4] => This is entry four )
我已经尝试在PHPMyAdmin中运行SQL查询,它会像我期望的那样返回所有四行。
有没有人有任何想法我做错了什么?
答案 0 :(得分:2)
$row = mysqli_fetch_array($r, MYSQLI_ASSOC);
您将获得此行第一行返回的行。你必须删除它才能正常工作。
mysqli_fetch_array
和mysqli_fetch_assoc
在每次通话时返回NEXT行。