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

SQL_CALC_FOUND_ROWS / FOUND_ROWS() nie działa w PHP

Dziękuję.

Kiedy uruchomiłem coś analogicznego do twojego przykładu w wierszu poleceń mysql, zadziałało; ale uruchomienie go z php, nie powiodło się. Drugie zapytanie musi "wiedzieć o" pierwszym, więc jakoś doszedłem do wniosku, że trwałość/pamięć łącząca te dwa zapytania została zepsuta przez php.

(Okazuje się, że Wordpress używa tego typu zapytań do tworzenia stronicowania - więc naszym większym problemem było to, że stronicowanie w instalacji Wordpress nagle przestało działać, gdy przeszliśmy do php 5.2.6 ... ostatecznie wyśledziło to do FOUND_ROWS( )).

Tylko ze względu na posty dla ludzi, którzy mogą natknąć się na to w przyszłości... dla mnie było to ustawienie php "mysql.trace_mode" - to domyślnie "on" w 5.2.6 zamiast "off" jak poprzednio, i z jakiegoś powodu uniemożliwia działanie FOUND_ROWS().

Jako „poprawkę” możemy umieścić to na każdej stronie php (właściwie w powszechnym „zawieraniu”):

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

lub dodaj to do .htaccess:

php_value mysql.trace_mode "0"

Jeszcze raz dziękuję, 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. Laravel LewoDołącz gdzie

  2. Zaznaczyć wszystkie zduplikowane wiersze na podstawie jednej lub dwóch kolumn?

  3. Jak sprawdzić, czy e-mail jest już zarejestrowany?

  4. przechowywanie danych JSON w mysql

  5. Prosta tabela UPDATE MySQl z tablicy php