¿porque al hacer INSERT una variable no sube sin las otras?

Tengo este INSERT en mi bd:
if(!is_uploaded_file($_FILES['imagen']['tmp_name'])){   
echo "<center>No ha subido imagen</center>";
}
else {
include ("conecta.php");
$nombre = explode(".",$_FILES['imagen']['name']);
$intro = mysql_query("INSERT INTO anuncios(nombre,url,bloque) 
values('".$nombre[0]."','subidas/".$_FILES['imagen']['name']."','$texto')") or die(Error al subir);
Pero cuando quiero subir solamente la variable '$texto' no me la sube a no ser que vaya acompañada de la otra variable '$nombre'.
Y sin embargo '$nombre' si sube sin '$texto'.
¿Porque ocurre esto? y ¿como puedo arreglarlo?
Gracias
Lo mejor de caerse al tropezar, es volverse a levantar.
SOLUCIONAO
Estaba usando mal el "else".