php-mysql结果与ORDER&;限制非英语字符失败

php-mysql结果与ORDER&;限制非英语字符失败,php,mysql,wordpress,non-english,Php,Mysql,Wordpress,Non English,我在php函数(wordpress)中有一个简单的mysql查询 该函数工作正常,除非结果是非英语字符(或非拉丁语),例如希伯来语、阿拉伯语、汉语、日语 问题是,如果我删除orderby和LIMIT命令,查询就可以正常工作。(请参见代码中的注释) 键本身(meta_键)在数据库中很好地存在,其他函数或查询在使用它们时没有任何问题(因此这不是区域设置、数据库编码或字符集问题。)而且natcasesort()函数似乎也没有问题 这似乎是顺序和/或限制的具体问题 这些命令失败的原因是什么?有解决办法吗

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

该函数工作正常,除非结果是非英语字符(或非拉丁语),例如希伯来语、阿拉伯语、汉语、日语

问题是,如果我删除
orderby
LIMIT
命令,查询就可以正常工作。(请参见代码中的注释)

键本身(meta_键)在数据库中很好地存在,其他函数或查询在使用它们时没有任何问题(因此这不是区域设置、数据库编码或字符集问题。)而且
natcasesort()
函数似乎也没有问题

这似乎是
顺序
和/或
限制
的具体问题

这些命令失败的原因是什么?有解决办法吗

我试图删除(注释掉)这两个选项中的一个,但仍然失败。只有将两者都移除才能起作用

更新I

我忘了提了

$hide\u underline='HAVING meta\u key与“\\\u%”不同。


$hide\u underline=''

您是否尝试仅对限制进行注释?。。var_dump
$limit
并检查它是否有任何值?当然限制是我设定的。即使我手动设置“$limit=X”,问题仍然存在。同样在最初的问题中,我已经说过注释掉其中一个命令,
LIMIT
ORDER
都没有帮助。当您在没有注释的情况下发出上述查询时,会显示什么错误消息?你能用错误消息更新你的问题吗?我没有看到特别的错误消息-不是php、控制台或调试工具,看起来它只是忽略了结果。它返回所有没有特殊非英语字符的结果。
 $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);