Mysql SQL-to-JSON将整型转换为字符串
我的PHP中有这个Mysql SQL-to-JSON将整型转换为字符串,mysql,arrays,json,Mysql,Arrays,Json,我的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时,我得到以
$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时,我得到以下结果。(注意:小时和分钟应为整数)
我想让它把string显示为string,Int显示为Int
{"name":"Test","Hour": 6 ,"Minute":45}
您必须使用JSON\u NUMERIC\u CHECK选项才能获得数值 看这里:
您必须使用JSON\u NUMERIC\u CHECK选项才能获得数值 看这里: 谢谢大家 我通过使用以下代码使其工作:
$result = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($result)){
$row_set[] = $row;
}
$json=json_encode($row_set,JSON_NUMERIC_CHECK);
echo $json;
谢谢大家
我通过使用以下代码使其工作:
$result = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($result)){
$row_set[] = $row;
}
$json=json_encode($row_set,JSON_NUMERIC_CHECK);
echo $json;
PHP docs on:返回与获取的行相对应的字符串数组,如果resultset中没有更多行,则返回NULL。注意:
mysqli
的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql\u query
接口混淆。在你对程序性风格投入太多之前,值得换一种。示例:$db=new mysqli(…)
和$db->prepare(“…”)
过程接口是PHP 4时代的产物,当时引入了mysqli
API,不应在新代码中使用。注意:尝试摆脱在一次性使用的变量中声明SQL语句的习惯。如果查询直接提供给函数,那么遵循代码就容易多了,而且不再有机会弄乱并发送$sql3
而不是视觉上相似的$sql8
。PHP文档打开:返回与获取的行相对应的字符串数组,如果resultset中没有更多行,则返回NULL。注意:mysqli
的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql\u查询
接口混淆。在你对程序性风格投入太多之前,值得换一种。示例:$db=new mysqli(…)
和$db->prepare(“…”)
过程接口是PHP 4时代的产物,当时引入了mysqli
API,不应在新代码中使用。注意:尝试摆脱在一次性使用的变量中声明SQL语句的习惯。如果查询直接提供给函数,那么遵循代码就容易多了,而且不再有可能弄乱并发送$sql3
而不是视觉上相似的$sql8
。
$result = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($result)){
$row_set[] = $row;
}
$json=json_encode($row_set,JSON_NUMERIC_CHECK);
echo $json;