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

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

WBOY
Release: 2016-06-06 20:28:48
Original
1059 people have browsed it

返回的数组值都是字符串

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

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

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

回复内容:

返回的数组值都是字符串

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

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

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

设置一下PDO的属性

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

就可以了

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

<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>
Copy after login
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template