Objekt vom Typ PDOStatement kann nicht als Array verwendet werden
Ich möchte überprüfen, ob eine Spalte des angegebenen Benutzers einen Wert über 0 enthält.
Problem
Bei der Abfrage unddann ausführenIch erhalte diesen Fehler:
Fatal error: Cannot use object of type PDOStatement as array in C:\xampp\htdocs\recover\admin\create.php on line 40
Mein Code (Die Abfrage + ausführen):
if (isset($_SESSION['user'])) {
$admin = $CONNECT_TO_DATABASE->prepare("SELECT * FROM admin WHERE username = :username");
$admin->bindValue(':username', $_SESSION['user']);
$admin->execute();
Fehlerzeile (40):
if ($settings['create_admins'] > 0 || $admin['super_admin'] > 0 ) {
Frage:
Warum erhalte ich diesen Fehler? Wie behebe ich das?
Ich habe versucht, dies zu tun:
$admin = $CONNECT_TO_DATABASE->prepare("SELECT * FROM admin WHERE username = :username");
$admin = $admin->bindValue(':username', $_SESSION['user']);
$admin = $admin->execute();
und einen weiteren Fehler bekommen:
Fatal error: Call to a member function execute() on a non-object in C:\xampp\htdocs\recover\admin\create.php on line 38
Vielen Dank!
EDIT: Ich brauche das -> Fetch-Objekt, aber ich habe das gerade getan und die Fehler beseitigt. Aber es wirkt sich nicht aus? Ich meine, ich stimme dieser Zeile zu, und es gibt mir eine Null (nichts). Warum?
$admin = $CONNECT_TO_DATABASE->prepare("SELECT * FROM admin WHERE username = ".$_SESSION['user']."");
$admin = $admin->fetch();