cyberRobot Posted August 27, 2010 Share Posted August 27, 2010 I have a username field which is set to latin1_general_cs. Is there a way to search the field so that it doesn't look at the case? For example, if there is already a username for "jsmith" I want to prevent the creation of usernames like "JSmith". Note that I want to keep the field set to latin1_general_cs. Here is my current query for reference: $sql = "SELECT id FROM members WHERE id!=$id AND username='" . mysql_real_escape_string($username) . "'"; Quote Link to comment https://forums.phpfreaks.com/topic/211878-performing-case-insensitive-searchs-against-a-latin1_general_cs-field/ Share on other sites More sharing options...
Pikachu2000 Posted August 27, 2010 Share Posted August 27, 2010 Convert both strings to the same case for comparison. This should put you on the right track. $username = mysql_real_escape_string(strtolower(trim($_POST['username']))); $query = "SELECT `username` FROM table` WHERE LOWER(`username`) = $username"; If the query returns other than exactly zero records, the username is already taken. Quote Link to comment https://forums.phpfreaks.com/topic/211878-performing-case-insensitive-searchs-against-a-latin1_general_cs-field/#findComment-1104382 Share on other sites More sharing options...
cyberRobot Posted August 27, 2010 Author Share Posted August 27, 2010 Thanks! Quote Link to comment https://forums.phpfreaks.com/topic/211878-performing-case-insensitive-searchs-against-a-latin1_general_cs-field/#findComment-1104401 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.