0

php関数(wordpress)に簡単なmysqlクエリがあります。

結果が英語以外の文字(またはラテン語以外)(ヘブライ語、アラブ語、中国語、日本語など)の場合を除いて、この関数は問題なく機能します。

ORDER BY問題は、コマンドとコマンドを削除してもクエリが正常に機能することLIMITです。(コードでコメントアウトされているを参照してください)。

 $keys = $wpdb->get_col( "
                SELECT meta_key
                FROM $wpdb->postmeta
                GROUP BY meta_key
                " . $hide_underscore . "
                /* ORDER BY meta_key 
                LIMIT $limit */
                " );
if ( $keys )
            natcasesort($keys);

キー自体(meta_key)はDBに問題なく存在し、他の関数やクエリはそれらを使用しても問題ありません(したがって、ロケール、DBエンコーディング、または文字セットの問題ではありません)。また、natcasesort()関数はそうではないようです。問題 ..

ORDERおよび/またはの特定の問題のようLIMITです。

それらのコマンドだけが失敗する理由はありますか?解決策はありますか?

ペアの1つだけを削除(コメントアウト)しようとしましたが、それでも失敗します。両方を削除するだけで機能します。

更新I

言及するのを忘れた

$hide_underscore ='HAVING meta_key NOT LIKE "\_%"'

また

$hide_underscore =''

4

0 に答える 0