php while 最后一个,php – while循环只查找最后一次迭代

所以对于学校我正在尝试建立一个网上商店(这是一个项目),对于购物车我使用数据库,我根据用户获取信息并打印出来.然而,我的while循环只找到最后一项,而不是其他两项.现在我很确定旧数据被覆盖,以便它不会被打印,但我不知道如何解决这个问题

这是我到目前为止所得到的:

if(isset($_SESSION['userid'])){

$db = new PDO('mysql:host=localhost;dbname=ismsite', 'root', 'e-scooter');

$result = $db->prepare("SELECT * FROM cart where user_id=:userid ORDER BY cart_id DESC LIMIT 3 ");

$result->bindParam(':userid', $_SESSION['userid']);

$result->execute();

$info = array();

while($row = $result->fetch(PDO::FETCH_ASSOC)){

$pid = $row['product_id'];

$quantity = $row['quantity'];

$result = $db->prepare("SELECT * FROM Products WHERE productID=:pid");

$result->bindParam(':pid', $pid);

$result->execute();

while($row = $result->fetch(PDO::FETCH_ASSOC)){

echo $row['naam'];

}

}

}

else{

echo "Je moet inloggen om te kunnen winkelen.";

}

?>

任何人都可以帮我解决这个问题吗?

解决方法:

试试这种方式: –

$db = new PDO('mysql:host=localhost;dbname=ismsite', 'root', 'e-scooter');

$sql = "SELECT cart.*,Products.* FROM cart

LEFT JOIN Products

ON cart.product_id = Products.productID

where cart.user_id=:userid ORDER BY cart.cart_id DESC LIMIT 3";

$result = $db->prepare($sql);

$result->bindParam(':userid', $_SESSION['userid']);

$result->execute();

while($row = $result->fetch(PDO::FETCH_ASSOC)){

echo $row['naam'];

}

标签:php,mysql,pdo,while-loop,fetch

来源: https://codeday.me/bug/20190623/1270617.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值