首先,我想给出代码;
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为$b){
如果不使用if (is_array($productOnSale) || is_object($productOnSale))
语句,它会在第38行为foreach()提供Invalid参数:foreach($productOnSale as$b)
在第二次查询中将WHERE product_id更改为WHERE product_price