'; echo '

🐟 Kayal Aqua - Database Connection Test

'; // Test 1: PHP PDO Extension echo '

1. Testing PHP PDO Extension

'; if (extension_loaded('pdo') && extension_loaded('pdo_mysql')) { echo '

✅ PDO and PDO_MySQL extensions are loaded

'; } else { echo '

❌ PDO or PDO_MySQL extension is missing

'; echo '

Contact your hosting provider to enable PDO_MySQL extension.

'; exit; } // Test 2: Database Connection echo '

2. Testing Database Connection

'; try { $pdo = new PDO( "mysql:host=$host;charset=utf8mb4", $username, $password, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ] ); echo '

✅ Successfully connected to MySQL server

'; } catch (PDOException $e) { echo '

❌ Failed to connect to MySQL server

'; echo '

Error: ' . htmlspecialchars($e->getMessage()) . '

'; echo '

Common solutions:

'; echo ''; exit; } // Test 3: Database Exists echo '

3. Testing Database Access

'; try { $pdo->exec("USE $dbname"); echo '

✅ Successfully accessed database: ' . $dbname . '

'; } catch (PDOException $e) { echo '

⚠️ Database does not exist or no access: ' . $dbname . '

'; echo '

Error: ' . htmlspecialchars($e->getMessage()) . '

'; // Try to create the database echo '

Attempting to create database...

'; try { $pdo->exec("CREATE DATABASE IF NOT EXISTS $dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); $pdo->exec("USE $dbname"); echo '

✅ Database created successfully!

'; } catch (PDOException $e2) { echo '

❌ Failed to create database

'; echo '

Error: ' . htmlspecialchars($e2->getMessage()) . '

'; echo '

Please create the database manually in your hosting control panel.

'; exit; } } // Test 4: Check Tables echo '

4. Checking Database Tables

'; try { $stmt = $pdo->query("SHOW TABLES"); $tables = $stmt->fetchAll(PDO::FETCH_COLUMN); if (empty($tables)) { echo '

⚠️ No tables found. This is normal for initial setup.

'; echo '

Tables will be created when you run setup.php

'; } else { echo '

✅ Found ' . count($tables) . ' tables:

'; echo ''; } } catch (PDOException $e) { echo '

❌ Error checking tables: ' . htmlspecialchars($e->getMessage()) . '

'; } // Test 5: Test Write Permissions echo '

5. Testing Write Permissions

'; try { $pdo->exec("CREATE TABLE IF NOT EXISTS test_table (id INT PRIMARY KEY AUTO_INCREMENT, test_data VARCHAR(50))"); $pdo->exec("INSERT INTO test_table (test_data) VALUES ('test')"); $pdo->exec("DROP TABLE test_table"); echo '

✅ Database write permissions are working

'; } catch (PDOException $e) { echo '

❌ Database write permissions failed

'; echo '

Error: ' . htmlspecialchars($e->getMessage()) . '

'; echo '

Your database user needs CREATE, INSERT, and DROP permissions.

'; } // Configuration Summary echo '

6. Configuration Summary

'; echo ''; echo ''; echo ''; echo ''; echo ''; $config = [ 'Host' => $host, 'Database Name' => $dbname, 'Username' => $username, 'Password' => str_repeat('*', strlen($password)), 'PHP Version' => phpversion(), 'MySQL Version' => $pdo->getAttribute(PDO::ATTR_SERVER_VERSION) ]; foreach ($config as $key => $value) { echo ''; echo ''; echo ''; echo ''; } echo '
SettingValue
' . htmlspecialchars($key) . '' . htmlspecialchars($value) . '
'; echo '

✅ Connection Test Complete!

'; echo '

'; echo 'Success! Your database connection is working properly. '; echo 'You can now proceed to run setup.php to create your admin account.'; echo '

'; echo '

'; echo 'Security Note: Please delete this test_connection.php file after setup is complete.'; echo '

'; echo ''; ?>