PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false ] ); } catch(PDOException $e) { // 记录连接错误 $logMsg = date('[Y-m-d H:i:s] ') . "数据库连接错误: " . $e->getMessage() . "\n"; file_put_contents('db_error.log', $logMsg, FILE_APPEND); $pdo = false; } // 如果数据库不存在,尝试创建(仅用于开发环境) if ($pdo && !isset($e)) { try { // 检查recommendations表是否存在,如果不存在则创建 $tableCheck = $pdo->query("SHOW TABLES LIKE 'recommendations'"); if ($tableCheck->rowCount() === 0) { $createTableSql = " CREATE TABLE recommendations ( id INT AUTO_INCREMENT PRIMARY KEY, song_name VARCHAR(255) NOT NULL, artist_name VARCHAR(255) NOT NULL, reason TEXT, file_path VARCHAR(512) NOT NULL, status TINYINT NOT NULL DEFAULT 0 COMMENT '0:待审核,1:已同意,2:已驳回', created_at DATETIME NOT NULL, reviewed_at DATETIME NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4"; $pdo->exec($createTableSql); } } catch(PDOException $e) { $logMsg = date('[Y-m-d H:i:s] ') . "表创建错误: " . $e->getMessage() . "\n"; file_put_contents('db_error.log', $logMsg, FILE_APPEND); } } ?>