Od:
$admin = $CONNECT_TO_DATABASE->prepare("SELECT * FROM admin WHERE username = :username");
[...]
if ($settings['create_admins'] > 0 || $admin['super_admin'] > 0 ) {
$admin je typu PDOStatament což je třída a ne pole. Proto nemůžete volat [] operátora.
Také byste opravdu neměli vždy přiřazovat $admin na návratový výsledek každé metody, protože většina PDOStatament Metody 's vracejí booleovské hodnoty:
$admin = $CONNECT_TO_DATABASE->prepare("SELECT * FROM admin WHERE username = :username");
$admin->bindValue(':username', $_SESSION['user']);
$admin->execute();
Chcete-li získat super_admin ze sloupce admin tabulku, kterou byste měli přidat (za execute() prohlášení):
$result = $admin->fetch(PDO::FETCH_ASSOC);
který se naplní (doufejme, záleží na tom, jaké je schéma tabulky) $result['super_admin'] .