$message"; } debug("开始数据库连接测试"); // 检查配置变量 if (!isset($host) || !isset($username) || !isset($password) || !isset($database)) { debug("错误:配置文件加载失败,缺少必要的配置变量"); exit; } debug("配置信息检查通过:host=$host, database=$database, username=$username"); // 尝试连接数据库 try { $pdo = new PDO("mysql:host=$host;dbname=$database;charset=utf8mb4", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); debug("成功连接到数据库!"); // 检查vip_customers表是否存在 debug("检查vip_customers表是否存在"); $stmt = $pdo->query("SHOW TABLES LIKE 'vip_customers'"); $tableExists = $stmt->rowCount() > 0; if ($tableExists) { debug("vip_customers表存在"); // 检查表结构 debug("vip_customers表结构"); $stmt = $pdo->query("DESCRIBE vip_customers"); $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); echo ""; echo ""; foreach ($columns as $column) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
字段名类型空值默认值额外信息
{$column['Field']}{$column['Type']}{$column['Null']}{$column['Key']}{$column['Default']}{$column['Extra']}
"; // 检查数据量 debug("vip_customers表数据统计"); $stmt = $pdo->query("SELECT COUNT(*) as total FROM vip_customers"); $total = $stmt->fetchColumn(); debug("总记录数:$total"); // 检查激活的VIP客户数量 $stmt = $pdo->query("SELECT COUNT(*) as active FROM vip_customers WHERE is_active = 1"); $active = $stmt->fetchColumn(); debug("激活状态的VIP客户数:$active"); // 检查是否有测试手机号18699627661的记录 $stmt = $pdo->query("SELECT * FROM vip_customers WHERE phone LIKE '%18699627661%'"); $testPhoneExists = $stmt->rowCount() > 0; debug("测试手机号18699627661存在:" . ($testPhoneExists ? "" : "")); // 显示部分数据(最多5条) debug("最近的VIP客户数据(最多5条)"); $stmt = $pdo->query("SELECT id, customer_name, phone, car_model, car_number, created_at FROM vip_customers ORDER BY created_at DESC LIMIT 5"); $recentVips = $stmt->fetchAll(PDO::FETCH_ASSOC); if (count($recentVips) > 0) { echo ""; echo ""; foreach ($recentVips as $vip) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
ID客户姓名手机号车型车牌号创建时间
{$vip['id']}{$vip['customer_name']}{$vip['phone']}{$vip['car_model']}{$vip['car_number']}{$vip['created_at']}
"; } else { debug("vip_customers表中没有数据"); } // 如果表中没有数据,提供创建示例数据的选项 if ($total == 0) { debug("需要创建示例数据"); echo "
"; echo ""; echo "
"; } } else { debug("错误:vip_customers表不存在"); debug("需要创建vip_customers表"); echo "
"; echo ""; echo "
"; } } catch(PDOException $e) { debug("数据库连接失败:{$e->getMessage()}"); // 检查是否是数据库不存在的错误 if (strpos($e->getMessage(), 'Unknown database') !== false) { debug("数据库不存在,需要创建"); echo "
"; echo ""; echo "
"; } } // 处理表单提交 if ($_SERVER['REQUEST_METHOD'] == 'POST') { // 创建数据库 if (isset($_POST['create_database'])) { try { // 先连接MySQL服务器,不指定数据库 $pdo_root = new PDO("mysql:host=$host;charset=utf8mb4", $username, $password); $pdo_root->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 创建数据库 $pdo_root->exec("CREATE DATABASE IF NOT EXISTS `$database` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); debug("数据库创建成功!"); // 重定向刷新页面 header("Location: test_db_connection.php"); exit; } catch(PDOException $e) { debug("创建数据库失败:{$e->getMessage()}"); } } // 创建表 if (isset($_POST['create_table'])) { try { $pdo = new PDO("mysql:host=$host;dbname=$database;charset=utf8mb4", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 创建vip_customers表 $createTableSQL = " CREATE TABLE IF NOT EXISTS vip_customers ( id INT AUTO_INCREMENT PRIMARY KEY, customer_name VARCHAR(100) NOT NULL, phone VARCHAR(20) NOT NULL UNIQUE, car_model VARCHAR(100), car_number VARCHAR(50), email VARCHAR(100), birthday DATE, is_active TINYINT DEFAULT 1, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "; $pdo->exec($createTableSQL); debug("vip_customers表创建成功!"); // 重定向刷新页面 header("Location: test_db_connection.php"); exit; } catch(PDOException $e) { debug("创建表失败:{$e->getMessage()}"); } } // 创建示例数据 if (isset($_POST['create_sample_data'])) { try { $pdo = new PDO("mysql:host=$host;dbname=$database;charset=utf8mb4", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 插入示例VIP客户数据 $sampleData = [ ['张三', '18612345678', '奔驰C级', '京A12345', 'zhangsan@example.com'], ['李四', '13987654321', '宝马3系', '京B54321', 'lisi@example.com'], ['王五', '18699627661', '奥迪A4', '沪A12345', 'wangwu@example.com'], ['赵六', '18699627777', '特斯拉Model 3', '深A67890', 'zhaoliu@example.com'], ['钱七', '13812345678', '丰田凯美瑞', '广A12345', 'qianqi@example.com'] ]; $stmt = $pdo->prepare("INSERT INTO vip_customers (customer_name, phone, car_model, car_number, email) VALUES (?, ?, ?, ?, ?)"); foreach ($sampleData as $data) { $stmt->execute($data); } debug("示例VIP客户数据创建成功!"); // 重定向刷新页面 header("Location: test_db_connection.php"); exit; } catch(PDOException $e) { debug("创建示例数据失败:{$e->getMessage()}"); } } } ?>