Me parece que no estás entendiendo lo que te dije..
Esta línea no hace absolutamente nada. Solamente
carga una cadena de texto en una variable:
Código PHP:
Ver original$insertar = ("INSERT INTO users WHERE uid='$uid' (foto) values ('http://localhost/".$destino."/".$cad.$tipo."')");
Pero no ejecuta la query. Sólo crea la cadena de texto con ella. Y una cadena de texto, si se la valida, es siempre TRUE en el IF().
Para mostrarte esto, hagamos una prueba imaginaria:
Código PHP:
Ver original$destino = "loquesea.php";
$insertar = ("INSERT INTO users values ('http://localhost/".$destino."/')");
echo $insertar;
if(!insertar)
{echo "False para $insertar";}
else
{echo "True para $insertar";}
if(!destino)
{echo "False para $destino";}
else
{echo "True para $destino";}
Esto da por resultado:
Cita: INSERT INTO users values ('http://localhost/loquesea.php/')
True para INSERT INTO users values ('http://localhost/loquesea.php/')
True para loquesea.php
Además de eso, tienes un error gravísimo en SQL, porque WHERE
no es cláusula de INSERT. Creo que estás confundiendo el INSERT con el UPDATE.