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

PHP表单数据无法存入MySQL,仅uniqid正常写入求助

问题排查与解决方案

1. 表单缺少提交按钮(最可能的核心原因)

你提供的表单代码里没有提交按钮,用户无法触发表单提交操作,导致$_POST数组中没有任何表单字段的数据——除了主动生成的orderID外,其他字段都被赋值为空字符串写入数据库。

解决方法:在表单末尾添加提交按钮,示例代码:

<input type="submit" value="Zatwierdź zamówienie" class="form-submit">

完整表单必须包含这类触发提交的元素,才能完成数据传递流程。

2. 开启PHP错误提示,验证数据接收状态

在PHP代码开头开启错误显示并打印$_POST数组,确认是否成功接收到表单数据:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// 打印POST数据,确认接收状态
var_dump($_POST);

// 后续数据库连接与插入代码...
?>

如果var_dump($_POST)输出为空,说明表单确实未提交数据,优先解决第一步问题;如果有数据,再检查字段名匹配性。

3. 核对数据库字段与代码的一致性

  • 检查MySQL的orders表中,Imie、Nazwisko等字段名称是否与代码完全一致(注意大小写,MySQL在区分大小写的系统中会严格匹配字段名)。
  • 确认这些字段是否允许空值:若字段设置为NOT NULL,传入空字符串会触发错误,需确保表单提交有效数据,或调整字段约束。

4. 为预处理语句添加错误检查

在代码中加入错误捕获,排查数据库操作是否失败:

// 检查预处理语句是否创建成功
if (!$stmt) {
    die("Prepare failed: " . $conn->error);
}

// 检查执行是否成功
if (!$stmt->execute()) {
    die("Execute failed: " . $stmt->error);
}

通过直接输出错误信息,可快速定位数据库层面的问题。


内容的提问来源于stack exchange,提问作者Jan Dyl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 17:15:23