function user_account_form_validate($form, &$form_state) {
...
db_select('users')->fields('users', array('uid'))->condition('uid', $account->uid, '<>')->condition('name', db_like($form_state['values']['name']), 'LIKE')->range(0, 1)->execute()->fetchField()
...
}
此代码condition('name', db_like($form_state['values']['name']), 'LIKE')
使用'赞'来比较名称字段,为什么不使用'='?
答案 0 :(得分:1)
看起来您的LIKE语句可能包含“*”和“?”之类的通配符,这就是为什么它使用“LIKE”而不是“=”
顺便说一句,我刚刚了解到,在MySQL中,如果表/字段已经使用像utf8_general_ci(“_ci”表示“不区分大小写”)的校对定义,则“=”和LIKE运算符都不区分大小写。我一直以为=敏感而且LIKE不敏感,但看起来并非如此(双关语意图!)。