首頁 >後端開發 >php教程 >mysql - PHP使用PDO库查询数据库除了NULL所有字段都返回的是字符串

mysql - PHP使用PDO库查询数据库除了NULL所有字段都返回的是字符串

WBOY
WBOY原創
2016-06-06 20:28:481052瀏覽

返回的数组值都是字符串

<code class="php">[
    "id" => "4231",
    "status" => "2"
]</code>

这个问题让我很困惑,因为这样的数据转换成json后全部都变成了字符串,虽然理论上说,数据全字符串是比较安全的,但是对接强类型语言的时候会很难搞。

有什么解决方案吗?_(:3」∠)_

回复内容:

返回的数组值都是字符串

<code class="php">[
    "id" => "4231",
    "status" => "2"
]</code>

这个问题让我很困惑,因为这样的数据转换成json后全部都变成了字符串,虽然理论上说,数据全字符串是比较安全的,但是对接强类型语言的时候会很难搞。

有什么解决方案吗?_(:3」∠)_

设置一下PDO的属性

<code>$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);</code>

就可以了

无解。除非自己强制类型。输出的时候自己格式化。

<code class="php">function format($arr) {
    $arr['id'] = (int)$arr['id'];
    $arr['status'] = (int)$arr['status'];
    return json_encode($arr);
}
echo format(['id'=>'111','status'=>'2']);</code>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn