PHP数据库查询结果 int 被转成string 问题排查

问题

在一次debug过程中发现,一样的代码在生产环境与开发环境运行的结果不一致,差异数据如下:

开发环境

array(7) {
  ["id"]=>
  string(1) "1"
  ["month"]=>
  string(6) "202302"
  ["create_time"]=>
  string(19) "2021-12-21 15:49:12"
}

生产环境

array(7) {
  ["id"]=>
  int(1)
  ["month"]=>
  int(202302)
  ["create_time"]=>
  string(19) "2021-12-21 15:49:12"
}

对比数据发现,在开发环境MySQL数据库里面查询出来的int类型转换成为了string。

继续阅读PHP数据库查询结果 int 被转成string 问题排查

开机即用的便捷性能测试工具-ab

ab简介

ab是Apache Web服务器自带的性能测试工具,对于web开发者基本上就是开机即用(安装有Apache服务就会带有ab),
它能模拟并发请求,对web服务器进行压力性能测试。平时可用快速的拿来做性能评估,或者对接口进行模拟并发测试。

继续阅读开机即用的便捷性能测试工具-ab

POST提交数据的3种常见方式

说到HTTP请求,首先就想到GET、POST,一般在获取数据的时候用GET,在需要给服务器提交数据的时候使用POST。有过api接口联调经验的同学可能遇到过,客户端明明是post提交的数据,可服务端就是获取不到数据。这里就涉及到post提交数据的方式,如果客户端–服务端没有约定一致的方式来post数据,很有可能就导致服务端接收不到参数。下面就介绍一下post提交数据的正确姿势。

继续阅读POST提交数据的3种常见方式

PHP获取不到POST参数

在与客户端调试接口时,定义了如下接口:

接口地址:domain/post/update

请求方式:POST

参数 类型 必填 示例 说明
id string 1001 要更改的ID
remark string testcontent 标记的内容

然后服务端在通过$_POST[‘id’], $_POST[‘remark’]获取参数时,Android客户端提交上来的参数一直获取不到,iOS客户端提交的参数正常获取。与Android客户端确认,确实是通过post提交的参数。

继续阅读PHP获取不到POST参数