php - 使用ORDER&的mysql结果LIMIT非英语字符失败

时间:2013-01-22 05:47:58

标签: php mysql wordpress non-english

我在php函数(wordpress)中有一个简单的mysql查询。

该功能没有问题,除非结果是非英文字符(或非拉丁文),例如希伯来语,阿拉伯语,中文,日语......

问题是,如果删除ORDER BYLIMIT命令,查询就可以了。 (参见代码中的注释)。

 $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中,并且其他函数或查询使用它们没有任何问题(因此它不是语言环境,数据库编码或字符集问题..){{1功能似乎不是问题..

看起来这是natcasesort()和/或ORDER的具体问题。

有没有理由说这些命令失败了?有解决方案吗?

我曾尝试删除(注释掉)其中一对,但仍然失败。只删除它们都可以。

更新我

我忘了提及

LIMIT

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

0 个答案:

没有答案