sql >> Databáze >  >> RDS >> Mysql

SQL_CALC_FOUND_ROWS / FOUND_ROWS() nefunguje v PHP

Děkuji.

Když jsem na příkazovém řádku mysql spustil něco analogického vašemu příkladu, fungovalo by to; ale spuštění z php se nezdařilo. Druhý dotaz musí "vědět o" prvním, takže nějak si myslím, že vytrvalost/paměť spojující dva dotazy php zkazil.

(Ukázalo se, že Wordpress používá tento typ dotazu k stránkování - takže náš větší problém byl, že stránkování v instalaci wordpressu náhle přestalo fungovat, když jsme přešli na php 5.2.6 ... nakonec to vystopovali do FOUND_ROWS( )).

Jen kvůli psaní pro lidi, kteří se s tím mohou v budoucnu setkat... pro mě to bylo nastavení php "mysql.trace_mode" - toto bylo výchozí "zapnuto" v 5.2.6 namísto "vypnuto" jako dříve a z nějakého důvodu brání FOUND_ROWS() ve fungování.

Jako "opravu" bychom to mohli buď umístit na každou stránku php (ve skutečnosti do společného "zahrnout"):

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

nebo přidejte toto do souboru .htaccess:

php_value mysql.trace_mode "0"

Ještě jednou díky, Jerry



  1. jak udělat rozdělení na sloupec tabulky SQL

  2. Jak mohu použít datový typ data na serveru SQL?

  3. Způsobeno:android.database.sqlite.SQLiteException:žádná taková tabulka:BOOK (kód 1 SQLITE_ERROR)

  4. mysql:vyberte všechny položky z tabulky A, pokud neexistují v tabulce B