使用php将mysql转换成json_php – 使用正确的类型将mysql结果转换为json

下面的代码只是一个概念证明.它需要在函数/方法中进行封装,并在生产中使用它之前进行一些抛光(例如,在循环中调用mysqli_fetch_field()并在处理任何行之前存储它返回的对象,而不是每行一次).

// Get the data

$result = mysqli_query($db, "SELECT * FROM table WHERE id=1");

$row = mysqli_fetch_assoc($result);

// Fix the types

$fixed = array();

foreach ($row as $key => $value) {

$info = mysqli_fetch_field($result);

if (in_array($info->type, array(

MYSQLI_TYPE_TINY, MYSQLI_TYPE_SHORT, MYSQLI_TYPE_INT24,

MYSQLI_TYPE_LONG, MYSQLI_TYPE_LONGLONG,

MYSQLI_TYPE_DECIMAL,

MYSQLI_TYPE_FLOAT, MYSQLI_TYPE_DOUBLE

))) {

$fixed[$key] = 0 + $value;

} else {

$fixed[$key] = $value;

}

}

// Compare the results

echo('all strings: '.json_encode($row)."\n");

echo('fixed types: '.json_encode($fixed)."\n");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值