Oto, co robisz jako pierwszy krok. Usuń WHERE url = '$url'
z całego zapytania i wydrukuj mysql_num_rows($exists)
przed użyciem.
To powinno wystarczyć, aby stwierdzić, czy jest to jeden z dwóch najbardziej prawdopodobnych problemów:
- zły adres URL, w wyniku którego nie są zwracane żadne wiersze; lub
- zły wiersz spowodowany przez bazę danych zawierającą inne niż oczekiwano.
Na podstawie Twoich dotychczasowych komentarzy, najbardziej prawdopodobna jest ta pierwsza. Jeśli okaże się, że otrzymasz wiersz z powrotem bez where
klauzula, musisz dowiedzieć się, dlaczego Twój adres URL jest nieprawidłowy. Może to być między innymi kwestia rozróżniania wielkości liter lub wypełnienia (rozmiaru).
Jeśli, jak wspomniałeś w komentarzu, like
działa gdzie =
nie, musimy zobaczyć Twoje dane.
Wykonaj (na poziomie bazy danych):
select concat('[',url,']') from sites
i pokaż nam dokładnie jakie jest wyjście. Podobnie, wypisz adres URL używany przez kod w następujący sposób:
print_r($url)
bezpośrednio przed wykonaniem mysql_query
.
Dołącz wyniki obu tych poleceń do swojego pytania.