mysql_fetch_array siempre me devuelve '0'

Hola, probrablemente este tema este muy traido. Y de hecho he revisao algunos que lo tratan pero no encuentro solucion.
A ver, tengo una bbdd a la cual me conecto sin problemas. En ella una tabla llamada usuarios con 4 campos: id, nombre, email, contraseña.
Intento hacer un sistema de registro con un form asi:
<?
function registro(){
?>
<div id="registro">
<form action="registrando.php" method="post">
<table border="1" cellpadding="0" cellspacing="0">
<tr><td align="center"><img alt="marcador" src="imagenes/carpetas.gif" height="50" width="150"/></td></tr>
<tr><td align="center">Comparte tus fotos de Sevilla</td></tr>
<tr><td align="left"><input type="text" name="nombre" value=" " />Nombre</td></tr>
<tr><td align="left"><input type="text" name="correo" value=" " />E-mail</td></tr>
<tr><td align="left"><input type="password" name="passwd" value="" />Contraseña</td></tr>
<tr><td align="left"><input type="password" name="passwd_dos" value="" />Repetir contraseña</td></tr>
<tr><td><input type="submit" value="Registrar" /></td></tr>
</table>
</form>
</div>
<?
}
?>
Aparece perfecta en las paginas.
Despues el archivo que lo recoge (registrando.php), es asi:
<?
include("conect.php");

$nombre=$_POST["nombre"];
$email=$_POST["correo"];
$passwd=$_POST["passwd"];
$passwd_dos=$_POST["passwd_dos"];

//Aqui consulto si hay un nombre en la bbdd llamado como el recogido en el form
$verificar = mysql_query("SELECT nombre FROM usuarios WHERE nombre = '$_POST[nombre]' ");

/* y aqui e donde tengo el problema
con mysql_fetch_array siempre me devuelve '0' 
y consecuentemente me indica que cualquie nombre no esta en la bbdd, aunque esté*/
if($row = mysql_fetch_array($verificar)){
echo "Problema: ";
echo "Ese nombre ya existe. Por favor vuelve y elige otro.";
pie("Fin");
exit;
}
else{
if(!valid_email($email)){
echo "Problema: ";
echo "No es una dirección email válida.  Por favor vuelve e inténtalo de nuevo.";
pie("Fin");
exit;
}
if ($passwd =!$passwd_dos){
echo "Problema: ";
echo "No coinsiden las contraseñas.  Por favor vuelve e inténtalo de nuevo.";
pie("Fin");
exit;
}

/* y aqui no se porque no lo inserta*/
$ingresar = mysql_query ("INSERT INTO usuarios(nombre, correo, contraseña)
values ('$nombre','$email','$passwd')") or die ('ERROR AL SUBIR');
echo "Enhorabuena ya formas parte de esta Tu web";
pie("Fin");
}
exit;
?>

Como digo en los comentarios tengo los problemas, y no veo la solucion.
¿Podeis echarme una manita porfa?
Gracias.
Lo mejor de caerse al tropezar, es volverse a levantar.
Hola:

Haz esto después de la consulta a la base de datos:

$nr = mysql_num_rows( $verificar );
// En lugar del if( $row = mysql_fetch... pon esto:
if( $nr == 0 ) {  // Si es 0, entonces no existe el usuario
  // Aquí pondrás lo que haces si no existe el usuario
} else { // El usuario ya existe
  // Aquí pondrás lo que se hace si ya existe
}

Hay algo que nunca había visto, ¿qué es pie()?

Saludos.
Aqui : $verificar = mysql_query("SELECT nombre FROM usuarios WHERE nombre = '$_POST' ");

Intentalo de esta manera :

$verificar = mysql_query("SELECT nombre FROM usuarios WHERE nombre='".$nombre."'");
Gracias SurKaiser y skaparate. Pero no venía por ahí el problema.
El Problema era que tenía puesto en el form:
<tr><td align="left"><input type="text" name="nombre" value=" "/>Nombre</td></tr>
el value="" con intencion de que no apareciera nada en el interior del input al presentarlo en pantalla por primera vez.
Aun sigo teniendo el prblema del INSERT me da ERROR AL SUBIR. Y no veo que puede ser.
Lo mejor de caerse al tropezar, es volverse a levantar.
$ingresar = mysql_query ("INSERT INTO usuarios(nombre, correo, contraseña)
values ('$nombre','$email','$passwd')") or die ('ERROR AL SUBIR');
¿Como c... iba a subirse si tenia puesto el campo correo en vez de email?
Torpe de mi.
$ingresar = mysql_query ("INSERT INTO usuarios(nombre, email, contraseña)
values ('$nombre','$email','$passwd')") or die ('ERROR AL SUBIR');
Gracias de todas formas chicos. ¿Se nota que estoy verde aun?