0
我試圖做一個函數,將在MySQL中驗證用戶名:unicode用戶名的RegEx模式?
FUNCTION `player_name_is_valid`(name TEXT CHARACTER SET utf8) RETURNS int(11)
BEGIN
declare result tinyint(1) DEFAULT 1;
declare reg tinyint(1) DEFAULT 1;
IF(CHAR_LENGTH(name) > 16 OR CHAR_LENGTH(name) < 3) THEN
SET result = 0; #name cannot exceed 16 characters, cannot be less than 3
END IF;
SELECT name REGEXP '^[a-z0-9_-]$' INTO reg;
if(reg = -) THEN
SET result = 0;
END IF;
RETURN result;
END
然而,正則表達式部分失敗。無論如何,它返回0。我測試它是'你好',它返回0,'地獄!0'它也返回0.
什麼可能是錯的?