Sindbad~EG File Manager
<?php
require_once 'config/config.php';
$db = Database::getInstance()->getConnection();
echo "<h2>Checking Members Table Structure</h2>";
// Show columns
echo "<h3>Table Columns:</h3>";
try {
$stmt = $db->query("SHOW COLUMNS FROM members");
$columns = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo "<table border='1'>";
echo "<tr><th>Field</th><th>Type</th><th>Null</th><th>Key</th><th>Default</th><th>Extra</th></tr>";
foreach ($columns as $col) {
echo "<tr>";
echo "<td>{$col['Field']}</td>";
echo "<td>{$col['Type']}</td>";
echo "<td>{$col['Null']}</td>";
echo "<td>{$col['Key']}</td>";
echo "<td>{$col['Default']}</td>";
echo "<td>{$col['Extra']}</td>";
echo "</tr>";
}
echo "</table>";
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
// Show indexes
echo "<h3>Table Indexes:</h3>";
try {
$stmt = $db->query("SHOW INDEX FROM members");
$indexes = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo "<table border='1'>";
echo "<tr><th>Key_name</th><th>Column_name</th><th>Non_unique</th><th>Index_type</th></tr>";
foreach ($indexes as $idx) {
echo "<tr>";
echo "<td>{$idx['Key_name']}</td>";
echo "<td>{$idx['Column_name']}</td>";
echo "<td>{$idx['Non_unique']}</td>";
echo "<td>{$idx['Index_type']}</td>";
echo "</tr>";
}
echo "</table>";
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
// Check for empty or duplicate membershipcard_id
echo "<h3>Checking for problematic data:</h3>";
try {
$stmt = $db->query("SELECT id, membershipcard_id, first_name, last_name FROM members WHERE membershipcard_id = '' OR membershipcard_id IS NULL");
$emptyCards = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (count($emptyCards) > 0) {
echo "<p style='color: red;'><strong>Found " . count($emptyCards) . " members with empty membershipcard_id:</strong></p>";
echo "<table border='1'>";
echo "<tr><th>ID</th><th>Membershipcard_id</th><th>Name</th></tr>";
foreach ($emptyCards as $member) {
echo "<tr>";
echo "<td>{$member['id']}</td>";
echo "<td>" . ($member['membershipcard_id'] ?? 'NULL') . "</td>";
echo "<td>{$member['first_name']} {$member['last_name']}</td>";
echo "</tr>";
}
echo "</table>";
} else {
echo "<p style='color: green;'>No members with empty membershipcard_id found.</p>";
}
// Check for duplicates
$stmt = $db->query("
SELECT membershipcard_id, COUNT(*) as count
FROM members
GROUP BY membershipcard_id
HAVING count > 1
");
$duplicates = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (count($duplicates) > 0) {
echo "<p style='color: red;'><strong>Found duplicate membershipcard_id values:</strong></p>";
echo "<table border='1'>";
echo "<tr><th>Membershipcard_id</th><th>Count</th></tr>";
foreach ($duplicates as $dup) {
echo "<tr>";
echo "<td>{$dup['membershipcard_id']}</td>";
echo "<td>{$dup['count']}</td>";
echo "</tr>";
}
echo "</table>";
} else {
echo "<p style='color: green;'>No duplicate membershipcard_id found.</p>";
}
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists