【发布时间】: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 可能还有其他错误