2016-06-11 35 views
1

這是我的功能。

public function getOrderValue($order_id) { 
    $sql = "select SUM(OD.quantity * OD.product_sell_price) from table_order_details OD where OD.order_id= :order_id AND OD.is_delete = 0"; 
    try { 
     $stmt = $this->db->prepare($sql); 
     $stmt->bindParam("order_id", $order_id); 
     $stmt->execute(); 
     $user = $stmt->fetchObject(); 
     return $user; 

    } catch(PDOException $e) { 
     return NULL; 
     //echo '{"error":{"text":'. $e->getMessage() .'}}'; 
    } 
} 

由於查詢中只有一列,所以如何返回該值?基本上我想如何單獨獲取SUM而不是返回一個對象$ stmt-> fetchObject();

+0

請具體談談您所使用的框架。 –

回答

1

您可以使用fetchColumn,但並沒有什麼不妥返回$user->total或類似的東西。

public function getOrderValue($order_id) { 
$sql = "SELECT SUM(OD.quantity * OD.product_sell_price) AS total FROM table_order_details OD WHERE OD.order_id= :order_id AND OD.is_delete = 0"; 
try { 
    $stmt = $this->db->prepare($sql); 
    $stmt->bindParam("order_id", $order_id); 
    $stmt->execute(); 
    $total = $stmt->fetchColumn(); 
    return $total; 
} catch(PDOException $e) { 
    return NULL; 
} 

}

相關問題