2011-02-24 2 views
1
$res = $db->prepare("SELECT user_id FROM sam_users WHERE user_name RLIKE ?"); 
$res->execute(array($login.'[[:digit:]]*')); 

$ login 또는 $ login과 일치하는 모든 계정과 그 뒤에 하나 이상의 숫자가 나오지만 알파 값은 뒤 따르지 않는 정규식이 필요합니다. 내가 즐에서 검색을 할 경우 내 데이터베이스에서정규식 mysql 문제

예를 나는

, 내가 돌아 가야 계정 즐, bla2, bla3 및 blabla를 원한다있어 : 즐 bla2 bla3 하지만 blabla하지

나의 현재 코드는 반환 blabla :/

+0

가 시작/끝 앵커와 패턴을 래핑하는 필요 '^''$'당신은 시작/끝 문자열과 일치 할 경우 - - http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html – Ken

답변

1

당신은이 방법

SELECT user_id FROM sam_users WHERE user_name regexp '^bla[0-9]*$' 
에 시도 할 수 있습니다 0
0

나는이 사용되어야하는 정규 표현식 생각 :

bla[0-9]*$ 
+0

아니요, 여전히 'blabla'와 일치합니다. 'blabla'rlike 'bla [0-9] * $' ; => 1 – Ken