setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); log_test_message("数据库连接成功"); } catch(PDOException $e) { log_test_message("数据库连接失败: " . $e->getMessage(), 'error'); exit(1); } // 测试创建表 try { $sql = "CREATE TABLE IF NOT EXISTS wps_form_submissions ( id INT AUTO_INCREMENT PRIMARY KEY, rid VARCHAR(50) NOT NULL COMMENT '表单提交ID', form_id VARCHAR(50) NOT NULL COMMENT '表单ID', form_title VARCHAR(255) NOT NULL COMMENT '表单标题', creator_id VARCHAR(50) NOT NULL COMMENT '创建者ID', create_time DATETIME NOT NULL COMMENT '创建时间', update_time DATETIME NOT NULL COMMENT '更新时间', mobile VARCHAR(20) COMMENT '请输入手机号', name VARCHAR(255) COMMENT '怎么称呼您', license_plate VARCHAR(20) COMMENT '车牌号', date DATE COMMENT '日期', time_slot VARCHAR(20) COMMENT '时间段', car_type VARCHAR(50) COMMENT '车型', wash_type VARCHAR(100) COMMENT '洗车类型', wash_packages VARCHAR(255) COMMENT '洗车套餐', wash_services TEXT COMMENT '洗车服务', additional_services TEXT COMMENT '额外服务', need_wax VARCHAR(10) COMMENT '是否需要打蜡', wax_type VARCHAR(50) COMMENT '蜡的类型', cleaning_needs TEXT COMMENT '清洁需求', interior_cleaning VARCHAR(10) COMMENT '是否需要内饰清洁', exterior_cleaning VARCHAR(10) COMMENT '是否需要外观清洁', vip_member VARCHAR(10) COMMENT '是否为VIP会员', vip_number VARCHAR(50) COMMENT 'VIP卡号', payment_method VARCHAR(50) COMMENT '支付方式', special_requests TEXT COMMENT '特殊要求', technician VARCHAR(50) COMMENT '指定技师', status VARCHAR(20) DEFAULT 'pending' COMMENT '状态', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间', INDEX idx_rid (rid), INDEX idx_license_plate (license_plate), INDEX idx_date (date), INDEX idx_mobile (mobile) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"; $pdo->exec($sql); log_test_message("表创建成功"); } catch(PDOException $e) { log_test_message("表创建失败: " . $e->getMessage(), 'error'); exit(1); } // 测试插入数据 try { $sql = "INSERT INTO wps_form_submissions ( rid, form_id, form_title, creator_id, create_time, update_time, mobile, name, license_plate, date, time_slot, car_type ) VALUES ( :rid, :form_id, :form_title, :creator_id, :create_time, :update_time, :mobile, :name, :license_plate, :date, :time_slot, :car_type )"; $stmt = $pdo->prepare($sql); $stmt->bindValue(':rid', 'test_rid_' . time()); $stmt->bindValue(':form_id', 'test_form_id'); $stmt->bindValue(':form_title', '测试表单'); $stmt->bindValue(':creator_id', 'test_creator_id'); $stmt->bindValue(':create_time', date('Y-m-d H:i:s')); $stmt->bindValue(':update_time', date('Y-m-d H:i:s')); $stmt->bindValue(':mobile', '13800138000'); $stmt->bindValue(':name', '测试用户'); $stmt->bindValue(':license_plate', '京A12345'); $stmt->bindValue(':date', date('Y-m-d')); $stmt->bindValue(':time_slot', '14:00-15:00'); $stmt->bindValue(':car_type', '轿车'); $stmt->execute(); $insert_id = $pdo->lastInsertId(); log_test_message("测试数据插入成功,ID: " . $insert_id); } catch(PDOException $e) { log_test_message("测试数据插入失败: " . $e->getMessage(), 'error'); exit(1); } // 测试查询数据 try { $sql = "SELECT * FROM wps_form_submissions ORDER BY id DESC LIMIT 1"; $stmt = $pdo->query($sql); $row = $stmt->fetch(); if ($row) { log_test_message("测试数据查询成功"); log_test_message("查询结果: " . print_r($row, true)); } else { log_test_message("测试数据查询失败: 没有找到数据", 'error'); } } catch(PDOException $e) { log_test_message("测试数据查询失败: " . $e->getMessage(), 'error'); exit(1); } echo "\n=== 所有测试完成 ===\n";