【问题标题】:php PDO object to stringphp PDO对象到字符串
【发布时间】:2016-06-30 03:17:54
【问题描述】:

我在 mysql 中做了一个查询,它只会返回 1 个结果。这是一个身份证号码。我使用了 PDO::FETCH_OBJ 并且得到了一个仅包含 1 个结果而不是字符串的数组。见下文

 public function getOrderTerritory($orders_id){
        $this->db->query("
        SELECT 
        territory_id_fk
        FROM orders
        WHERE orders_id = :orders_id");

        //bind method from my database just to prevent some injection. dont mind this
        $this->db->bind(':orders_id', $orders_id);

        //Assign result, the single() is a database method that basically does $this->stmt->fetch(PDO::FETCH_OBJ);
        $result = $this->db->single();
        return $result;

    }

如果我 var_dump $result 我得到

object(stdClass)#23 (1) { ["territory_id_fk"]=> string(1) "2" }

但我只想看看

改为“2”。所以我可以通过 $result 来运行其他方法。现在我收到数组到字符串的转换错误。

【问题讨论】:

  • 如果您需要单个列的标量值,为什么要使用 PDO::FETCH_OBJ?
  • 我正在学习,所以我还不太了解所有 PDO 选项。是否有会返回字符串的 PDO::FETCH 类型?
  • 玩得开心:PHP Data Objects
  • 是的,顾名思义,PDO::FETCH_COLUMN 将为您获取单个列的值。
  • 注意旅游数据库类suffer from serious design flaw 可能还有其他错误

标签: php mysql pdo


【解决方案1】:

参考后

Fetching single row, single column with PDO

我发现$this->stmt->fetchColumn(); 会根据需要返回一个结果。

【讨论】:

    猜你喜欢
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 2012-01-07
    • 2012-10-11
    相关资源
    最近更新 更多