Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PDOStatement::nextRowSet() jest uszkodzony w MySQL 5.6.16 w systemie Windows

Miałem ten sam problem z PDO::nextRowset(), ponieważ zwraca true, nawet jeśli nie ma więcej dostępnych zestawów wierszy, dlatego podczas wywoływania fetchAll() zgłasza wyjątek HY000. (testowane na oknach PHP 5.5.12, Mysql 5.5.17 linux)

Obejściem tego problemu jest sprawdzenie liczby kolumn metodą PDO::columnCount() przed pobraniem zestawu wierszy. Jeśli jest niezerowe, masz poprawny zestaw wierszy, a zatem możesz wywołać PDO::fetchAll().

Nawet jeśli PDO::nextRowset() zgłasza prawdę, columnCount() zgłosi liczbę kolumn przed przejściem do następnego zestawu wierszy.

Przykład:

while ($objQuery->columnCount()) {
    $tab[] = $objQuery->fetchAll(\PDO::FETCH_ASSOC);
    $objQuery->nextRowset();
}


  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 - Ranking na miesiąc przez kilka miesięcy

  2. baza danych mysql inżynierii wstecznej do tworzenia aplikacji django

  3. Klasa jednostki z bazy danych....Błąd Nieprawidłowy zasób _pm

  4. Pokazywanie odrębnych wartości za pomocą agregatów

  5. PROBLEM:Mysql konwertuje Enum na Int