我正在尝试选择其网站网址格式错误的用户。
我需要:
不选择空的“互联网”字段
选择网址格式错误的“互联网”字段。
我输入了一个格式错误的网址 - www.te st.com - 中间有一个空格,我用来测试。我尝试了这个查询,但结果列表是空白的。
$sql = "SELECT *
FROM calendario
WHERE `Internet` NOT REGEXP '^(https?:\/\/|www\.)[\.A-Za-z0-9\-]+\.[a-zA-Z]{2,4}' AND `Internet` !='' ORDER BY Data DESC";
有没有人知道MySQL URL验证的错误?
答案 0 :(得分:1)
.
因为元字符应使用双引号\\.
转义或放入字符类[.]
以下查询应按预期工作:
SELECT *
FROM calendario
WHERE `Internet` NOT REGEXP '^(https?:\/\/|www\\.)[-.A-Za-z0-9]+\\.[a-zA-Z]{2,4}'
AND `Internet` !='' ORDER BY Data DESC