Foros del Web » Programando para Internet » PHP »

dudas de nuevo

Estas en el tema de dudas de nuevo en el foro de PHP en Foros del Web. hola con esta sentencia result te dice 1 si la sentencia es correcta no? $sql = "DELETE FROM clientes WHERE nombre like '$nombre'"; $borrado = ...
  #1 (permalink)  
Antiguo 28/11/2003, 07:48
 
Fecha de Ingreso: octubre-2003
Ubicación: Granada
Mensajes: 481
Antigüedad: 14 años, 2 meses
Puntos: 1
dudas de nuevo

hola con esta sentencia result te dice 1 si la sentencia es correcta no?
$sql = "DELETE FROM clientes WHERE nombre like '$nombre'";
$borrado = mysql_query($sql, $link) or die (mysql_error());

pero si por ejemplo el nombre de existe result tb te da como resultado 1 no?? pero como se hace para saber si el nombre no existe??

tengo q comparar antes q el nombre existe ?

es decir si hago un delete y el nombre no lo encuentra devuelve algo??

como saco por pantalla una consulta con select??

seria asi??
$sql = "SELECT * FROM clientes WHERE nombre like '$nombre'";
$borrado = mysql_query($sql, $link) or die (mysql_error());

echo $borrado----> asi no no?? pq aki te devuelve 0 o 1 no??

Un saludo
__________________
la duda es el principio del saber
  #2 (permalink)  
Antiguo 28/11/2003, 08:09
Avatar de cubis  
Fecha de Ingreso: abril-2002
Ubicación: Medellín
Mensajes: 1.040
Antigüedad: 15 años, 7 meses
Puntos: 2
Si no encuentra el registro, te debe devolver 0.
__________________
[color=gray][size=1]Usuario Registrado de Linux #315639
  #3 (permalink)  
Antiguo 28/11/2003, 08:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Veamos, mysql_query() te devuelve false si se produjo un error en la ejecucion de la consulta. Ese false se evalua igual que 0. En caso de delete, mysql_query() devuelve true si se ejecuto correctamente sin errores. True se evalua a 1.

Pero que no haya ningun registro que cumpla la condicion no es un error de ejecucion, asi que exista o no ese nombre, mysql_query() devolvera true.

Para ver si se ha borrado algun registro, debes usar la funcion mysql_affected_rows() (www.php.net/mysql_affected_rows). En este caso, si esa funcion devuelve 0 quiere decir que no se borro ningun registro, asi que no existe el nombre.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 22:11.