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

Android应用向网站数据库上传商品数据失败求助

解决Volley上传商品时"missing product_name or product_description"错误

你的问题核心是Android端传递的参数名与PHP端接收的参数名不匹配:

  • Android代码中getParams()方法里用的参数键是_product_name和_product_description(带下划线前缀)
  • 但PHP代码里检查的是product_name和product_description(无下划线)

PHP端找不到对应的POST参数,因此返回"缺失参数"的错误提示。


修复方案二选一即可:

方案1:修改Android端参数名(推荐,匹配PHP与数据库字段)

把getParams()里的键名调整为和PHP端一致的名称:

@Override
protected Map<String, String> getParams() {
    Map<String, String> params = new HashMap<>();
    // 去掉下划线前缀,与PHP端参数名对齐
    params.put("product_name", productName);
    params.put("product_description", productDescription);
    return params;
}

方案2:修改PHP端参数检查(若不想改动Android代码)

将PHP里的参数检查和接收逻辑改为对应带下划线的名称:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 修改参数检查的键名
    if (isset($_POST['_product_name']) && isset($_POST['_product_description'])) {
        // 对应修改接收的变量名
        $productName = $_POST['_product_name'];
        $productDescription = $_POST['_product_description'];
        
        // 后续数据库操作代码保持不变
        $stmt = $pdo->prepare("INSERT INTO products (product_name, description) VALUES (?, ?)");
        if ($stmt->execute([$productName, $productDescription])) {
            $response = ["message" => "Product uploaded successfully"];
            echo json_encode($response);
        } else {
            $response = ["message" => "Error uploading product"];
            echo json_encode($response);
        }
    } else {
        $response = ["message" => "Missing product_name or product_description"];
        echo json_encode($response);
    }
} else {
    $response = ["message" => "Invalid request method"];
    echo json_encode($response);
}

额外调试建议(排查类似问题用)

  1. 验证参数传递:在PHP开头添加临时代码,打印所有收到的POST数据,确认参数是否到达服务器:
// 调试用,可在问题解决后删除
file_put_contents('post_debug_log.txt', print_r($_POST, true));
  1. 检查安卓本地参数:查看Logcat中MyApp标签的日志,确认传入_uploadProduct的参数值不为空
  2. 确认网络权限:确保AndroidManifest.xml中添加了网络权限:
<uses-permission android:name="android.permission.INTERNET" />

内容的提问来源于stack exchange,提问作者ALI EL BOUHALI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:40:13