【发布时间】:2018-01-26 23:09:25
【问题描述】:
我的 PHP 中有这个。
$sql="select * from defaulttime";
$result = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($result)){
$row_set[] = $row;
}
echo trim(json_encode($row_set));
在我的 SQL 中,有些列是整数。但在 JSON 中它显示为字符串。 有人可以告诉我我做错了什么吗?
当我运行 PHP 时,我得到以下结果。 (注意小时和分钟应该是整数)
[{"name":"Test","Hour": "6" ,"Minute":"45"}],
我希望它将字符串显示为字符串,将 Int 显示为 Int。
{"name":"Test","Hour": 6 ,"Minute":45}
【问题讨论】:
-
mysqli_fetch_array 上的 PHP 文档:返回与获取的行相对应的字符串数组,如果结果集中没有更多行,则返回 NULL。
-
注意:
mysqli的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql_query接口混淆。在您对程序风格投入过多之前,值得转换一下。示例:$db = new mysqli(…)和$db->prepare("…")过程化接口是 PHP 4 时代引入mysqliAPI 时的产物,不应在新代码中使用。 -
注意:试着改掉在一次性变量中声明 SQL 语句的习惯,这些变量只使用一次。在将查询直接提供给函数的情况下,跟踪代码要容易得多,并且不再有可能搞砸并发送
$sql3而不是视觉上相似的$sql8。