如何在php中获取单个值而不是$ stmt-> fetchObject();

时间:2016-06-11 12:31:39

标签: php

这是我的功能。

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();

2 个答案:

答案 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;
}

}

答案 1 :(得分:0)

假设您正在使用PDO,则可以使用fetchColumn

http://php.net/manual/en/pdostatement.fetchcolumn.php