sql >> Base de Datos >  >> RDS >> Mysql

SQL_CALC_FOUND_ROWS / FOUND_ROWS() no funciona en PHP

Gracias.

Cuando ejecuté algo análogo a su ejemplo en la línea de comandos de mysql, funcionaría; pero al ejecutarlo desde php, falló. La segunda consulta tiene que "saber sobre" la primera, así que de alguna manera me imagino que la persistencia/memoria que vincula las dos consultas estaba siendo estropeada por el php.

(Resulta que Wordpress usa este tipo de consulta para hacer su paginación, por lo que nuestro mayor problema fue que la paginación en una instalación de wordpress dejó de funcionar repentinamente cuando pasamos a php 5.2.6 ... finalmente lo rastreamos hasta FOUND_ROWS ( )).

Solo por el hecho de publicar para las personas que pueden encontrarse con esto en el futuro ... para mí fue la configuración de php "mysql.trace_mode":esto estaba predeterminado como "activado" en 5.2.6 en lugar de "desactivado" como anteriormente, y por alguna razón impide que FOUND_ROWS() funcione.

Como "arreglo", podríamos poner esto en cada página php (en realidad, en un "incluir" común):

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

o agrega esto al .htaccess:

php_value mysql.trace_mode "0"

Gracias de nuevo, Jerry