You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么React发起POST请求调用PHP接口插入数据库时字段全为null?

问题排查方案

  • 第一步先验证PHP侧是否拿到了请求数据:在PHP代码最开头插入var_dump($_POST);exit;,重新发起请求查看返回结果:
    • 如果返回空数组,说明是请求格式不兼容:React默认发送application/json格式的请求,PHP的$_POST仅支持解析表单格式(application/x-www-form-urlencoded/multipart/form-data)的参数,JSON格式需要手动读取:
      // 替换原有从$_POST取参数的逻辑
      $postData = json_decode(file_get_contents('php://input'), true);
      
      后续绑定参数时使用$postData['longUrl']这类写法即可。
    • 如果返回的数组里存在对应字段,核对键名大小写是否完全匹配,PHP数组键名大小写敏感,前端传longurl和后端取longUrl会导致取值为null。
  • 确认数据库连接配置正确,没有出现连错库、连错表的情况,插入操作执行的库表和你查询的库表必须一致。
  • 可选写法优化:直接把参数数组传给execute方法,避免绑定参数时的拼写错误:
    $stm->execute([
        ':longUrl' => $postData['longUrl'],
        ':shortId' => $postData['shortId'],
        ':userIp' => $postData['userIp'],
        // 剩余参数按同样格式补充
    ]);
    

内容的提问来源于stack exchange,提问作者Alexander Roumeliotis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:39:03