Я пытаюсь выбрать пользователей, у которых неверно сформирован URL-адрес их веб-сайта.
Мне необходимо:
не выбирайте пустые поля «Интернет»
выберите поля «Интернет», где URL искажен.
Я ввел один некорректный URL-адрес — 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";
Кто-нибудь знает, что я делаю не так с проверкой URL MySQL?
.
как метасимвол должен быть экранирован двойной кавычкой \\.
или помещены в класс персонажа [.]
Следующий запрос должен работать как положено:
SELECT *
FROM calendario
WHERE `Internet` NOT REGEXP '^(https?:\/\/|www\\.)[-.A-Za-z0-9]+\\.[a-zA-Z]{2,4}'
AND `Internet` !='' ORDER BY Data DESC
Других решений пока нет …