Autor
|
Tema: No responde correctamente a petición de borrar (Leído 2,560 veces)
|
Servia
Desconectado
Mensajes: 346
|
<? require('conector.php'); $duke=($_SESSION['UsNick']); $id=($_REQUEST["id"]); $sql = "DELETE FROM tablaus WHERE usuario='".$duke."' and id='".$id."'"; if($result) { echo ' Borrado'; } else { echo 'Error al intentar borrar '; } ?>
Cuando hago esto, teoricamente si no encuentra que encajen usuario y id en una misma entrada tiene que dar error, pero igualmente sale borrado. ¿Que hago mal?
|
|
|
En línea
|
|
|
|
LuffyFF
Desconectado
Mensajes: 754
Final Fantasy XIII
|
Así esta mal.
Porque mysql_query retorna TRUE o verdadero si se ejecuta la query de forma correcta. No importa que no devuelva resultados, pero si se ejecuta bien sin dar resultados, se transforma en TRUE.
Asi de que esa forma no te va a funcionar.
Lo que tendrías que hacer es un contador según $result, y si devuelve 0, sería Error al intentar borrar. Sino, Borrado. Porque si hay dos usuarios con el mismo usuario y id, puede devolver 2. Esta es una opción, que lo podrías usar con mysql_num_rows, para saber la cantidad de registros devueltos.
Si no te funciona, porque no estoy seguro si funcione el mysql_num_rows con DELETE, puedes hacer otra query para chequear si existe usuario = $duke y id = $id, y si existe, lo borra, sino, borrar.
|
|
|
En línea
|
|
|
|
Servia
Desconectado
Mensajes: 346
|
Osea? <? require('conector.php'); $duke=($_SESSION['UsNick']); $id=($_REQUEST["id"]); $sql = "DELETE FROM tablaus WHERE usuario='".$duke."' and id='".$id."'"; if($rows) { echo ' Borrado'; } else { echo 'Error al intentar borrar '; } ?>
Me da error
|
|
« Última modificación: 21 Diciembre 2008, 17:15 pm por Servia »
|
En línea
|
|
|
|
eLank0
eLhAcKeR r00Lz
Desconectado
Mensajes: 1.062
|
Yo haría... <?php require('conector.php'); $duke=($_SESSION['UsNick']); $id=($_REQUEST["id"]); $sql = "DELETE FROM tablaus WHERE usuario='".$duke."' and id='".$id."'"; $result = mysql_query($sql) or die(mysql_error());
echo "Borrado correcto";
?> Si ya tratas el error con la función específica no hace falta que lo vuelvas a poner abajo. En cualquier caso, podrías usar la función mysql_affected_rows(identificador de conexión) para comprobar que has borrado correctamente. Salu2
|
|
|
En línea
|
|
|
|
Servia
Desconectado
Mensajes: 346
|
Ya lo he arreglado como decía Lightning, gracias de todos modos
|
|
|
En línea
|
|
|
|
WHK
|
Yo lo haría: <?php if(!require('conector.php')){ die('Error al obtener los datos de la MySQL'); } $id= (int)$_REQUEST["id"]; "DELETE FROM tablaus WHERE usuario='". "' and id='".$id."';" )){ }else{ echo 'No ha podido ser borrado.'; } ?>
|
|
« Última modificación: 23 Diciembre 2008, 06:42 am por WHK »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Facebook responde a la petición de un padre desesperado
Noticias
|
wolfbcn
|
0
|
1,562
|
10 Febrero 2014, 13:58 pm
por wolfbcn
|
|
|
Documentar función para borrar nodo según petición del usuario en C.
Programación C/C++
|
NOB2014
|
4
|
3,207
|
16 Julio 2016, 02:59 am
por NOB2014
|
|
|
Servidor TCP no responde correctamente a los paquetes.
.NET (C#, VB.NET, ASP)
|
FranFin
|
0
|
1,733
|
17 Diciembre 2018, 13:46 pm
por FranFin
|
|
|
Como borrar correctamente las claves en Regedit?
Windows
|
jandres
|
4
|
4,267
|
20 Enero 2019, 18:26 pm
por Serapis
|
|