我的php代码问题

时间:2015-11-30 10:22:26

标签: php pdo

首先,我想提供代码;

 public function productPrice($id) {
            $productPrice = $this->db1->query("SELECT price FROM oc_product WHERE product_id='{$id}'");
            $productPrice = $productPrice->fetch(PDO::FETCH_NUM);
            foreach ($productPrice as $a) {
                $productOnSale = $this->db1->query("SELECT price FROM oc_product_special WHERE product_id='{$a}'");
                $productOnSale = $productOnSale->fetch(PDO::FETCH_NUM);
                if (is_array($productOnSale) || is_object($productOnSale)) {
                    foreach ($productOnSale as $b) {
                    if ($a == $b) {
                        $a = explode(".", $a);
                        return $a[0] . " TL";
                    } else {
                        $a = explode(".", $a);
                        $b = explode(".", $b);
                        return "<strike>".$a[0]." TL</strike>\n".$b[0]." TL";

                    }
                }
            }
            }
        }

当我抓取else时,一切都很好 但它并没有给我if甚至$ a和$ b值是正确的。 错误行是:foreach($ productOnSale as $ b){

如果不使用if (is_array($productOnSale) || is_object($productOnSale))语句,它会给我第38行的foreach()提供的无效参数:foreach($ productOnSale as $ b)

1 个答案:

答案 0 :(得分:0)

在第二个查询中将 WHERE product_id 更改为 WHERE product_price