PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; try { return new PDO($dsn, $user, $pass, $options); } catch (\PDOException $e) { throw new \PDOException($e->getMessage(), (int)$e->getCode()); } } try { $pdo = db_connect(); $pdo->exec("CREATE DATABASE IF NOT EXISTS lovable"); $pdo->exec("USE lovable"); $pdo->exec(" CREATE TABLE IF NOT EXISTS clients ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL DEFAULT 1, name VARCHAR(255) NOT NULL, company_name VARCHAR(255), email VARCHAR(255), phone VARCHAR(50), status ENUM('Active', 'Inactive') DEFAULT 'Active', color VARCHAR(7) DEFAULT '#3498db', notes TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) "); } catch (\PDOException $e) { // In a real app, log this error. For now, we'll just die. die("DB setup failed: " . $e->getMessage()); } ?>