Mysql
 sql >> база данни >  >> RDS >> Mysql

Не може да се използва обект от тип PDOStatement като масив

От:

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

$admin е от тип PDOStatament което е клас, а не масив. Следователно не можете да извикате [] оператор върху него.

Също така наистина не трябва винаги да присвоявате $admin към връщания резултат от всеки метод, тъй като повечето от PDOStatament Методите на ' връщат булеви стойности:

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

За да извлечете super_admin колона от admin таблица, която трябва да добавите (след execute() изявление):

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

който ще се попълни (надявам се, че зависи от схемата на таблицата) $result['super_admin'] .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате Mysql JDBC драйвер към android студио

  2. Пренаредете редовете в MySQL таблица

  3. Как да предоставим всички привилегии на root потребител в MySQL 8.0

  4. tomcat7:Не можа да се зареди JDBC клас драйвери [com.mysql.jdbc.Driver]

  5. Запазете mysql заявка в excel файл от php уеб страница