Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL_CALC_FOUND_ROWS / FOUND_ROWS() не работи в PHP

Благодаря.

Когато пуснах нещо аналогично на вашия пример в командния ред на mysql, щеше да работи; но стартирането му от php се провали. Втората заявка трябва да "знае" за първата, така че смятам някак си, че постоянството/паметта, свързваща двете заявки, се обърка от php.

(Оказва се, че Wordpress използва този тип заявка, за да направи пагинацията си - така че нашият по-голям проблем беше, че пагинацията в инсталацията на wordpress внезапно спря да работи, когато преминахме към php 5.2.6 ... в крайна сметка я проследиха до FOUND_ROWS( )).

Само за да публикувам за хора, които може да се сблъскат с това в бъдеще... за мен това беше настройката на php "mysql.trace_mode" - това по подразбиране "включено" в 5.2.6 вместо "изключено", както преди, и по някаква причина пречи на FOUND_ROWS() да работи.

Като "поправка" бихме могли или да поставим това във всяка php страница (всъщност в често срещано "включи"):

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

или добавете това към .htaccess:

php_value mysql.trace_mode "0"

Благодаря отново, Джери



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да напиша (MySQL) LIMIT в SQL Server?

  2. Връзка с MySQL база данни с визуализация на Visual Studio 2013

  3. Предупредителен код на Mysql 1592 Небезопасно изявление, записано в двоичния дневник, използвайки формат на изявление

  4. MySQL Подготвени оператори със списък с променливи с променлив размер

  5. PHP извлича данни от реда на таблицата и съхранява в променлива