Voici ce que vous faites dans un premier temps. Supprimez le WHERE url = '$url'
à partir de votre requête et imprimez mysql_num_rows($exists)
avant de l'utiliser.
Cela devrait suffire à déterminer s'il s'agit de l'un des deux problèmes les plus probables :
- mauvaise URL résultant en aucune ligne renvoyée ; ou
- mauvaise ligne causée par une base de données contenant autre chose que prévu.
D'après vos commentaires à ce jour, le premier est le plus probable. S'il s'avère que vous récupérez une ligne sans le where
clause, vous devrez comprendre pourquoi votre URL est incorrecte. Il peut s'agir d'un problème de sensibilité à la casse ou d'un problème de remplissage (taille), entre autres.
Si, comme vous le mentionnez dans un commentaire, like
fonctionne où =
pas, alors nous devons voir vos données.
Exécuter (au niveau de la BD) :
select concat('[',url,']') from sites
et montrez-nous exactement quelle est la sortie. De même, affichez l'URL utilisée par le code avec quelque chose comme :
print_r($url)
juste avant d'exécuter le mysql_query
.
Veuillez ajouter le résultat de ces deux commandes à votre question.