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

SQL_CALC_FOUND_ROWS / FOUND_ROWS() tidak berfungsi di PHP

Terima kasih.

Ketika saya menjalankan sesuatu yang analog dengan contoh Anda di baris perintah mysql, itu akan berhasil; tetapi menjalankannya dari php, gagal. Kueri kedua harus "tahu tentang" yang pertama, jadi saya pikir entah bagaimana kegigihan/memori yang menautkan kedua kueri itu dikacaukan oleh php.

(Ternyata Wordpress menggunakan jenis kueri ini untuk melakukan pagination - jadi masalah kami yang lebih besar adalah bahwa pagination di instalasi wordpress tiba-tiba berhenti bekerja ketika kami pindah ke php 5.2.6 ... akhirnya melacaknya ke FOUND_ROWS( )).

Hanya demi memposting untuk orang-orang yang mungkin mengalami ini di masa depan... bagi saya itu adalah pengaturan php "mysql.trace_mode" - ini default "on" di 5.2.6 bukannya "off" seperti sebelumnya, dan untuk beberapa alasan mencegah FOUND_ROWS() bekerja.

Sebagai "perbaikan", kita bisa meletakkan ini di setiap halaman php (sebenarnya, dalam "include") yang umum:

ini_set("mysql.trace_mode", "0");

atau tambahkan ini ke .htaccess:

php_value mysql.trace_mode "0"

Terima kasih sekali lagi, Jerry



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klausa WHERE yang kompleks menggunakan PHP Doctrine ORM

  2. Cara Mengekspor hasil Query menggunakan MySQL Workbench

  3. Skrip untuk mengubah semua tabel dan bidang ke susunan utf-8-bin di MYSQL

  4. Kelompokkan berdasarkan huruf pertama, menurut abjad, cara terbaik?

  5. Dalam gabungan, cara mengawali semua nama kolom dengan tabel asalnya