sql >> データベース >  >> RDS >> Mysql

SQL_CALC_FOUND_ROWS / FOUND_ROWS()はPHPでは機能しません

    ありがとうございます。

    mysqlコマンドラインであなたの例に類似したものを実行すると、それは機能します。しかし、phpから実行すると、失敗しました。 2番目のクエリは最初のクエリを「知っている」必要があるので、2つのクエリをリンクする永続性/メモリがphpによって台無しにされていたことがどういうわけかわかります。

    (Wordpressはこのタイプのクエリを使用してページネーションを行うことが判明しました-したがって、より大きな問題は、php 5.2.6に移行したときに、Wordpressインストールのページネーションが突然機能しなくなったことです...最終的に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. MariaDB JSON_LOOSE()の説明

    2. MySQL:時間の比較

    3. innoDBテーブルのMySQL全文検索の回避策

    4. PostgreSQL:日時との間