За последние 24 часа нас посетили 20404 программиста и 1094 робота. Сейчас ищут 410 программистов ...

В БД Мускл не ищется адрес сайта через PhpMyAdmin и через мой сайт

Тема в разделе "PHP и базы данных", создана пользователем Egor7, 6 янв 2018.

  1. Egor7

    Egor7 Новичок

    С нами с:
    6 янв 2018
    Сообщения:
    2
    Симпатии:
    0
    Приветствую! У меня на сайте есть возможность при регистрации добавить адрес сайта.
    Также есть плагин, в котором можно ввести адрес сайта и найти пост с этим адресом сайта.

    Один пользователь добавил мне адрес сайта. Но если скопировать в буфер обмена добавленный адрес сайта и вбить в поисковую строку моего плагина, то пост с этим адресом сайта не находится. Хотя другие адреса сайтов - прекрасно находятся. Я подумал, что что-то не то с моим плагином, но...
    Оказалось, если искать этот адрес сайта через запрос в PhpMyAdmin

    Код (Text):
    1. SELECT `post_id`, `meta_value` FROM `wp_postmeta` WHERE `meta_value` IN('http://site.ru');
    то PhpMyAdmin тоже не может найти. Физически пост существует, я его видел, у него есть Post_id и все прочее.
    Думал, что в адресе сайта могут быть заменены латинские буквы русскими аналогами, но проверил онлайн сервисами - они вроде как показали, что адрес сайта состоит из латинских букв. А двоеточие и точка и косая черта может быть в другой кодировке?

    Не понимаю, как такое может быть, подскажите пожалуйста что делать.
    Спасибо за ответы.
     
  2. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    PHP:
    1. SELECT `post_id`, `meta_value` FROM `wp_postmeta` WHERE `meta_value` LIKE '%http://site.ru%' ;
    2. или так
    3. SELECT `post_id`, `meta_value` FROM `wp_postmeta` WHERE `meta_value` = 'http://site.ru' ;
     
    Egor7 нравится это.
  3. Egor7

    Egor7 Новичок

    С нами с:
    6 янв 2018
    Сообщения:
    2
    Симпатии:
    0
    Да, спасибо, через LIKE и % находится... Но почему же так получается... В чем хитрость?