sql >> Databasteknik >  >> RDS >> Mysql

SQL_CALC_FOUND_ROWS / FOUND_ROWS() fungerar inte i PHP

Tack.

När jag körde något analogt med ditt exempel på mysql-kommandoraden, skulle det fungera; men att köra det från php, det misslyckades. Den andra frågan måste "känna till" den första, så jag tror på något sätt att uthållighet/minne som länkade de två frågorna blev förstört av php.

(Det visar sig att Wordpress använder den här typen av fråga för att göra sin paginering - så vårt större problem var att pagineringen i en wordpress-installation plötsligt slutade fungera när vi flyttade till php 5.2.6 ... så småningom spårade den ner till FOUND_ROWS( )).

Bara för att skriva inlägg för folk som kan stöta på detta i framtiden... för mig var det php-inställningen "mysql.trace_mode" - detta var standard "på" i 5.2.6 istället för "av" som tidigare, och av någon anledning hindrar FOUND_ROWS() från att fungera.

Som en "fix" kan vi antingen lägga detta på varje php-sida (faktiskt i en vanlig "inkludera"):

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

eller lägg till detta i .htaccess:

php_value mysql.trace_mode "0"

Tack igen, Jerry



  1. När ett skript körs på SQLPlus skrivs det ut en sekvens av nummer istället för utdata

  2. MAX() Funktion i PostgreSQL

  3. Behöver en praktisk lösning för att skapa mönsterdatabas (5-5-5) för 15-pussel

  4. INFOGA I ... VÄLJ FRÅN ... PÅ DUPLIKATNYCKELUPPDATERING