Ето какво правите като първа стъпка. Премахнете WHERE url = '$url'
от вашата заявка като цяло и разпечатайте mysql_num_rows($exists)
преди да го използвате.
Това трябва да е достатъчно, за да разберете дали това е един от двата най-вероятни проблема:
- лош URL, което води до липса на връщане на редове; или
- лош ред, причинен от база данни, съдържаща различно от очакваното.
Въз основа на вашите коментари до момента, първото е най-вероятно. Ако се окаже, че получавате ред обратно без where
клауза, ще трябва да разберете защо URL адресът ви е неправилен. Това може да е проблем с чувствителността на малки и малки букви или проблем с допълване (размер), наред с други неща.
Ако, както споменавате в коментар, like
работи там, където =
не, тогава трябва да видим вашите данни.
Изпълнете (на ниво DB):
select concat('[',url,']') from sites
и ни покажете точно какъв е изходът. По същия начин изведете URL адреса, използван от кода, с нещо като:
print_r($url)
непосредствено преди да изпълните mysql_query
.
Моля, добавете изхода от двете команди към въпроса си.