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

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

WBOY
WBOYOriginal
2016-06-06 20:28:481053browse

返回的数组值都是字符串

<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>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn