Il titolo non è dei migliori cerco di spiegarmi al meglio.
Ho questo script:

<?php
if($_POST['nome']==''){echo"<div style='text-align:center;'>Non hai inserito alcun Nome!</div>";exit;}
if($_FILES['logo']['name']==''){echo"<div style='text-align:center;'>Non hai inserito alcun Logo!</div>";exit;}
else{
$nome=$_POST['nome'];
$url=$_POST['url'];
$file=basename($_FILES['logo']['name']);
$logo="$file";



$query=mysql_query("SELECT* FROM sponsor WHERE nome='$nome' ");
$risultato=mysql_num_rows($query);
if($risultato=="1"){echo"<div style='text-align:center;'>Il Nome Inserito è già Presente</div>";exit;}

$query2=mysql_query("SELECT* FROM sponsor WHERE immagine='$logo' ");
$risultato2=mysql_num_rows($query2);
if($risultato2=="1"){echo"<div style='text-align:center;'>La foto Inserita è già Presente</div>";exit;}

$query3=mysql_query("SELECT* FROM sponsor WHERE url='$url' ");
$risultato3=mysql_num_rows($query3);
if($risultato3=="1"){echo"<div style='text-align:center;'>L'url Inserito è già Presente</div>";exit;}



$inserimento="INSERT INTO sponsor(nome,immagine,url) VALUES('$nome','$logo','$url')";
$controllo=mysql_query($inserimento) or die(mysql_error());

copy($_FILES['logo']['tmp_name'], "../img/link_amici/".$_FILES['logo']['name']) or die("Impossibile caricare il file");

echo"<div style='text-align:center;'><h2>Inserimento avvenuto con Successo</h2></div><div style='text-align:center;'>Menù</div>";
}
?>



Che non fa altro che prendere dei valori passati da un precedente form salvare il tutto nel database e salvare il file inserito in una specifica cartella.

Funziona tutto eccezion fatta per il controllo che dovrebbe avvenire su nome del file.
in pratica questo:

$query2=mysql_query("SELECT* FROM sponsor WHERE immagine='$logo' ");
$risultato2=mysql_num_rows($query2);
if($risultato2=="1"){echo"<div style='text-align:center;'>La foto Inserita è già Presente</div>";exit;}

Non dovrebbe fare altro che controllare che $logo(alias il nome del file) non sia già stato salvato nella tabella.Ovviamente non lo fa, il resto dello script funziona egregiamente e come potete notare le altre 2 query sono praticamente identiche cambia solo il where non ne capisco il motivo onestamente alla fine è come controllare che ci sia un testo in un record, sarà mica che il nome deriva da un file e quindi chissà che vede!

Non ne ho idea.

Grazie di un qualunque aiuto!