gpt4 book ai didi

php - MySQL 正在跳过第一个结果

转载 作者:行者123 更新时间:2023-11-29 22:21:27 28 4
gpt4 key购买 nike

我有这段代码,不知何故它总是会跳过第一个结果,我不知道为什么,因为我在代码中的其他地方使用了相同类型的 while 循环,并且问题不会发生。如果我在没有循环的情况下单独运行 MYSQL 查询,我会得到所有结果,但下面的代码将始终跳过第一行。如果有人能给我一些建议或者重组查询,那就太好了?

谢谢

编辑**添加了if语句

    ($stmt = $db->prepare('SELECT DISTINCT agdet.ADITEM, agdet.ADSTAT, products.IFDESC, products.ISTAT
FROM agdet
LEFT JOIN products on agdet.ADITEM = products.ITEMNO
LEFT JOIN aghdr on agdet.AHNUM = aghdr.AHNUM
WHERE agdet.AHCUST =?
AND products.ICODE1 !=?
AND aghdr.AHSTAT !=?
ORDER BY agdet.ADITEM ASC
LIMIT 0, 3000'))
|| fail('MySQL prepare', $db->error);
$stmt->bind_param('iss', $agreement,$ICODE1,$AHSTAT)
|| fail('MySQL bind_param', $db->error);
$stmt->execute()
|| fail('MySQL execute', $db->error);
$stmt->bind_result($ADITEM,$ADSTAT,$IFDESC,$ISTAT)
|| fail('MySQL bind_result', $db->error);

while($stmt->fetch()){



$IFDESC = trim($IFDESC);
$ADITEM = trim($ADITEM);


if ($IFDESC == 'TAXABLE' ){ $ADITEM = 'hidden';}
if ($IFDESC == 'XXXX' ){ $ADITEM = 'hidden';}
if ($IFDESC ==''){ $IFDESC = 'Aucune description trouvée';}

$ITEM_ID = ltrim($ADITEM, '0');


if ($ISTAT =='S' OR $ADSTAT =='S'){

printf ("<p>$ADITEM</p><p>ADSTAT</p><p>$IFDESC</p><p>$ISTAT</p>");

}
else {

printf ("<p>$ADITEM</p><p>ADSTAT</p><p>$IFDESC</p><p>$ISTAT</p>");

}
}

最佳答案

好吧,经过更多测试,我的 IF 语句与这个问题无关,它与 printf() 有关,因为如果我使用 print_r() 我将获得完整的结果集,但不知何故 printf() 将跳过第一个结果。

遗憾的是,我不知道为什么要这样做,我会继续阅读该文档。

谢谢!

关于php - MySQL 正在跳过第一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30669908/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com