Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

php do while tidak akan berfungsi dengan next->rowset

Saya memiliki masalah yang sama dengan PDO::nextRowset(), karena mengembalikan true meskipun tidak ada lagi baris yang tersedia, oleh karena itu ketika memanggil fetchAll(), itu menimbulkan pengecualian HY000. (diuji pada PHP 5.5.12 windows, MySQL 5.5.17 linux)

Solusi untuk masalah ini adalah memeriksa jumlah kolom dengan metode PDO::columnCount() sebelum mengambil rowset. Jika bukan nol, Anda memiliki rowset yang valid, dan dengan demikian Anda dapat memanggil PDO::fetchAll().

Bahkan jika PDO::nextRowset() melaporkan true, columnCount() akan melaporkan jumlah kolom sebelum pindah ke rowset berikutnya.

Contoh:

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. Banyak ke Banyak di dalam Meja Banyak ke Banyak

  2. MyCLI – Klien MySQL/MariaDB dengan Pelengkapan Otomatis dan Penyorotan Sintaks

  3. pencocokan pencarian php (fuzzy)

  4. Bagaimana cara membuat tautan berikutnya dan sebelumnya dengan php?

  5. Mendapatkan kesalahan:Tidak dapat terhubung ke server MySQL di 'SERVER_IP' (99)