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

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

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

返回的数组值都是字符串

<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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn