在查找数组数据时实施的Foreach仅查找一个数据

时间:2019-04-24 14:18:03

标签: php mysql

我在函数中使用了两个查询。首先查询以查找数据数组。第二个查询是根据第一个查询中的数组数据选择行。但是整个函数只返回一行数据。

function getCartItems($conn)
 {
    $cust_id=$_SESSION['cust_id'];
    $stmtSelect1 = $conn->prepare("SELECT product_id FROM tbl_cart WHERE cust_id=cust_id");
    $stmtSelect1->bindParam('cust_id',$cust_id);
    $stmtSelect1->execute();
    $product_id= $stmtSelect1->fetchAll();

    foreach($product_id as $productid) {
        $stmtfetch = $conn->prepare("SELECT * FROM tbl_item WHERE product_id=:products_id");
        $stmtfetch->bindParam(':products_id',$productid['product_id']);
        $stmtfetch->execute();
         $datas = $stmtfetch->fetchAll();
         print_r($datas);
         exit();
    }
 }

1 个答案:

答案 0 :(得分:1)

首先,您的代码有错别字(在product_id / products_id参数之前缺少“:”)。

这应该有效:

{{1}}