sql >> Database >  >> RDS >> Mysql

Kan object van het type PDOStatement niet gebruiken als array

Van:

$admin = $CONNECT_TO_DATABASE->prepare("SELECT * FROM admin WHERE username = :username");
[...]
if ($settings['create_admins'] > 0 || $admin['super_admin'] > 0 ) {

$admin is van het type PDOStatament wat een klasse is en geen array. Daarom kun je de [] . niet bellen operator erop.

Ook moet je echt niet altijd $admin . toewijzen naar het geretourneerde resultaat van elke methode omdat de meeste van de PDOStatament 's methoden retourneren booleaanse waarden:

$admin = $CONNECT_TO_DATABASE->prepare("SELECT * FROM admin WHERE username = :username");
$admin->bindValue(':username', $_SESSION['user']);
$admin->execute();

Om de super_admin op te halen kolom van de admin tabel die u moet toevoegen (na de execute() verklaring):

$result = $admin->fetch(PDO::FETCH_ASSOC);

die zal vullen (hopelijk hangt het af van wat het tabelschema is) $result['super_admin'] .



  1. Cumulatief totaal berekenen in MySQL

  2. ORA-01111 in MRP in fysieke standby-database

  3. Hoe kan ik voorkomen dat Postgres een subquery inline invult?

  4. convert_tz retourneert null