Php 使用while循环中的fetch_object()无法获得预期结果
我正在进行一个项目,其中显示了用户上传的一些图像,并使用Php 使用while循环中的fetch_object()无法获得预期结果,php,mysql,wordpress,Php,Mysql,Wordpress,我正在进行一个项目,其中显示了用户上传的一些图像,并使用fetch\u object()方法从DB表中获取,这是我的代码: <?php $ph1 = $media->fetch_assoc(); echo "testarray"; print_r($ph1); while ($photo = $media->fetch_object()) { ?> <li> <di
fetch\u object()
方法从DB表中获取,这是我的代码:
<?php
$ph1 = $media->fetch_assoc();
echo "testarray";
print_r($ph1);
while ($photo = $media->fetch_object()) { ?>
<li>
<div class="gallery-item">
<a href="<?= $system->getDomain() ?>/uploads/<?= $photo->path ?>" data-fancybox="gallery">
<img src="<?= $system->getDomain() ?>/uploads/<?= $photo->path ?>" alt="User Uploaded Photos" />
</a>
</div>
</li>
<?php } ?>
这里$media
是我的查询结果对象
我的代码的问题是,while循环从第2行开始迭代,然后跳过第1行。所以,我的图像库显示除最新上传到服务器的图像以外的所有图像。我还测试了跳过第一个while循环是因为$photo
变量正在获取除第一个(或最新的)之外的所有条目,我还测试了fetch_assoc()
和fetch_object()
给出相同的结果,即少一行,当我用$media->num rows>检查查询返回的行数时,它返回用户上载的确切行数。我就是找不到为什么我不获取第一行???您正在获取第一个结果,而没有使用它
运行fetch\u assoc()
时,您正在获取第一个结果
$media->fetch_assoc();
一旦提取了结果,就不会再次提取,因此当您循环使用$media
时,结果不再可用,也不再使用
删除以下代码,就不会跳过第一次迭代:
$ph1 = $media->fetch_assoc();
echo "testarray";
print_r($ph1);
您正在获取第一个结果而不使用它
运行fetch\u assoc()
时,您正在获取第一个结果
$media->fetch_assoc();
一旦提取了结果,就不会再次提取,因此当您循环使用$media
时,结果不再可用,也不再使用
删除以下代码,就不会跳过第一次迭代:
$ph1 = $media->fetch_assoc();
echo "testarray";
print_r($ph1);
你能补充一下你的疑问吗?美元制度从何而来?请添加完整代码。“当循环从第2行开始迭代并跳过第1行时”-您在这里指责错误…-您已经在循环之前获取了第一条记录,方法是执行$ph1=$media->fetch_assoc()代码>。您可以添加您的查询吗?美元制度从何而来?请添加完整代码。“当循环从第2行开始迭代并跳过第1行时”-您在这里指责错误…-您已经在循环之前获取了第一条记录,方法是执行$ph1=$media->fetch_assoc()代码>。