Foros del Web » Programando para Internet » PHP »

No me deja borrar

Estas en el tema de No me deja borrar en el foro de PHP en Foros del Web. Hola. Tengo el siguiente código en un fichero php pero no me borra el registro. ¿Qué puede faltarme? He mirado en la ayuda y parece ...
  #1 (permalink)  
Antiguo 14/03/2006, 05:48
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 1 mes
Puntos: 3
Pregunta No me deja borrar

Hola.

Tengo el siguiente código en un fichero php pero no me borra el registro. ¿Qué puede faltarme? He mirado en la ayuda y parece que lo tengo todo bien.

Código PHP:
$valor=$HTTP_POST_VARS['select'];
            
$sql="delete usuario, password from tbl_usuario where usuario='$valor'";
            
mysql_query($sql); 
La variable $valor toma el valor correcto pasado por POST, lo he comprobado con un echo.

la sentencia sql está bien formada (no creo que el problema sea de las comillas) y despues ejecuto con mysql_query con lo que creo que todo está bien, pero sin embargo no me borra el dato de la tabla.

Cuando vuelvo al combo otra vez, me sigue apareciendo el dato que supuestamente debería haberse borrado.

¿Que puede faltarme?
  #2 (permalink)  
Antiguo 14/03/2006, 06:00
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 21 años, 4 meses
Puntos: 20
Hola, rafaconpu.

Hasta donde yo sé, con DELETE puedes borrar registros, no campos. Si lo que quieres borrar son campos, tendrás que hacerlo mediante UPDATE. Si admiten NULL ponlos a NULL, y si no, si son de texto cambia su valor a '', y si son numéricos ponlos a 0, no sé, ya según tu aplicación.

Cuando tengas fallos así, en vez de mysql_query($sql) pon mysql_query($sql) or die(mysql_error()), esto te mostrará si hay un error en la sentencia SQL y de este modo puedes tener más pistas sobre lo que te está pasando.
  #3 (permalink)  
Antiguo 14/03/2006, 06:04
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 18 años, 3 meses
Puntos: 1
Creo que el problema lo tenés en la sintaxis de la consulta sql. Cuando utilizás DELETE no es necesario indicar los campos que queres borrar, ya que se elimina todo el registro. Si lo que querés es actualizar el registro, tendrías que utilizar UPDATE. La forma correcta seria:

Código PHP:
<? 
$valor
=$HTTP_POST_VARS['select']; 
$sql="delete from tbl_usuario where usuario='$valor'"
mysql_query($sql); 
?>
Saludos.
__________________
¿Se me entiende la letra?
  #4 (permalink)  
Antiguo 14/03/2006, 07:05
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 1 mes
Puntos: 3
Error solucionado

Ya está arreglado.

Era porque especificaba los campos que quería borrar, no el contenido.

Código PHP:
$sql="delete from tbl_usuario where usuario='$valor'"
Yo ponía

Código PHP:
$sql="delete usuario, password from tbl_usuario where usuario='$valor'"
Ahora si me borra correctamente el dato y se actualiza el combo perfectamente.

Muchísimas gracias por vuestra ayuda.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:05.