我正在使用Wordpress get\\u users()函数搜索具有特定meta\\u键值的用户。
$wordpress_user = get_users( array(\'meta_key\' => \'unique_id\',
\'meta_value\' => \'unique_id_value\') );
根据前面的结果,我正在创建一个新的wordpress用户,或者如果该用户已经存在,我只需登录该用户。
“meta\\u密钥”大约有10个字符长,包含字母和数字,我正在从外部来源检索它:为了更安全的行为,我想知道get\\u users函数是否会使用区分大小写的研究。(如果没有,我将来有可能检索到2个类似的meta\\u键,大小写不同……)
此外,我注意到所有wordpress表,包括wp\\u users\\u meta都有“\\u ci”,这也是我对当前代码感到不安全的另一个原因。
如果你能给我提供一些有关这方面的信息,请提前感谢你!
最合适的回答,由SO网友:user54952 整理而成
找到的解决方案:对meta\\u键/meta\\u值对进行区分大小写的搜索:使用$wpdb对象的get\\u results()方法,使用二进制关键字对usermeta表进行硬编码mysql查询:
global $wpdb;
$sql = $wpdb->prepare( "SELECT user_id FROM {$wpdb->prefix}usermeta
WHERE meta_key = \'unique_id\'
AND BINARY meta_value = \'unique_id_value\'");
$wordpress_user_query = $wpdb->get_results( $sql);