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

PHP无错误提示但插入数据未在phpMyAdmin数据表中显示

问题排查与解决方法
  • 开启PDO全阶段错误提示:你现有代码仅捕获了数据库连接阶段的异常,默认PDO不会主动抛出SQL执行阶段的错误,因此执行出错时无任何提示,需要在实例化PDO时添加错误模式配置:
try {
    $conn = new PDO("mysql:host=$server;dbname=$database;charset=utf8mb4", $username, $password);
    // 新增以下两行配置
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch(PDOException $e) {
    die("操作失败: ". $e->getMessage());
}
  • 校验created_at字段格式匹配问题:你当前生成的时间格式是D, d M Y,生成值为类似Wed, 16 Oct 2024类字符串,如果你的contacts表中created_at字段类型为datetime/timestamp,该格式不符合MySQL对应字段要求,会直接导致插入失败,修改时间生成代码为:
$created_at = date('Y-m-d H:i:s');
  • 验证SQL执行结果:添加执行结果校验逻辑,打印具体错误信息:
$statement = $conn->prepare($sql);
$execRes = $statement->execute([
    ':name' => $name,
    ':email' => $email,
    ':message' => $message,
    ':created_at' => $created_at
]);
// 新增校验代码
if (!$execRes) {
    var_dump($statement->errorInfo());
    exit;
}
  • 确认库表配置匹配:核对dikweb_contact库中确实存在contacts表,且表内存在name/email/phone/message/created_at五个对应字段,字段长度、非空约束和你传入的数据匹配。

内容的提问来源于stack exchange,提问作者Richard Deemee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:36:03