Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema Con Eliminación de Registros de Una Base de Datos

Estas en el tema de Problema Con Eliminación de Registros de Una Base de Datos en el foro de PHP en Foros del Web. Amigos muy buenas a todos. El problema es que tengo este script para eliminar los registros de una base de datos. Los valores del formulario ...
  #1 (permalink)  
Antiguo 19/08/2016, 07:46
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 2 meses
Puntos: 0
Problema Con Eliminación de Registros de Una Base de Datos

Amigos muy buenas a todos. El problema es que tengo este script para eliminar los registros de una base de datos. Los valores del formulario los estoy pasando por GET y los almaceno en unas variables. Resulta que el script cuando se ejecuta no muestra ningún error, pero tampoco me elimina los registros de la base de datos, estoy casi seguro que es en la consulta, pero le he dado vueltas y vueltas y nada. Me podrían ayudar a corregir mi error por favor. De ante mmano muchísimas gracias. Un abrazo para todos.

Código PHP:
<?php

//INICIAMOS LA SESION
session_start();

//LLAMAMOS LA CONEXION
require_once("conexion.php");

//CREAMOS LAS VARIABLES CON LOS DATOS ALMACENADOS EN EL FORMULARIO
$usuario $_SESSION['usuario'];
$contrasena $_SESSION['contrasena'];

$eltitulo $_GET['eltitulo'];
$elweb $_GET['elweb'];
$elcategoria $_GET['elcategoria'];
$elcomentario $_GET['elcomentario'];
$elvaloracion $_GET['elvaloracion'];

//REALIZAMOS LA CONSULTA

$elsql "DELETE FROM favoritos WHERE usuario=".$usuario." AND contrasena=".$contrasena." AND titulo=".$eltitulo." AND web=".$elweb." AND categoria=".$elcategoria." AND comentario=".$elcomentario." AND valoracion=".$elvaloracion.""

//EJECUTAMOS LA CONSULTA
$elfavorito mysqli_query($con,$elsql);

?>
  #2 (permalink)  
Antiguo 19/08/2016, 07:55
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

envias todas esas variables por GET?.. es mucho no crees?
tienes muchos comparativos para un DELETE lo usual es usar unicamente 1.. ejemplo:

Código PHP:
Ver original
  1. //REALIZAMOS LA CONSULTA
  2.  
  3. $elsql = "DELETE FROM favoritos WHERE titulo='".$eltitulo."' ";

Esto te eliminara todo el registro, sin la necesidad de proporcionar cada columna. he dejado como muestra titulo, pero puede ser cualquiera que no sea igual en otro registro de la misma tabla
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 19/08/2016, 08:18
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

Hola si tienes razon, lo que pasa es que no estoy manejando una Primary Key. Acabo de hacer lo que me dijiste y no me muestra error, pero siguue sin eliminar el registro. Por cuestiones de prueba puse un echo a la variables y me las muestra perfectamente, yo creeria que el problema esta en las comillas en las consultas, no se

Lo puse asi

Código PHP:
$elsql "DELETE FROM favoritos WHERE usuario='".$usuario."' AND contrasena='".$contrasena."' AND titulo='".$eltitulo."' AND web='".$elweb."' AND categoria='".$elcategoria."' AND comentario='".$elcomentario."' AND valoracion='".$elvaloracion."'"
  #4 (permalink)  
Antiguo 19/08/2016, 08:22
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

Al ejecutar eso en SQL te lo elimina ??
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #5 (permalink)  
Antiguo 19/08/2016, 08:32
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

Hola, lo ejecute asi desde SQL y me funciono

DELETE FROM favoritos WHERE usuario='hander' AND contrasena='12345' AND titulo='Medicos' AND web='https://www.medicos.com' AND categoria='Alergología' AND comentario='Excelente sitio' AND valoracion='10'
  #6 (permalink)  
Antiguo 19/08/2016, 09:05
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

Entonces hágalo en partes, como dijo jack.

Aunque le haga destrozos pero valla haciendo deletes con un where y después le agrega un AND y así otro y otro, pienso...
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #7 (permalink)  
Antiguo 19/08/2016, 11:37
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

Cita:
Iniciado por basura1973 Ver Mensaje
Hola si tienes razon, lo que pasa es que no estoy manejando una Primary Key. (...)

Y a que esperas para establecer una clave primaria?

Deberias echale un vistazo al Modelo E-R y a la Normalizacion de BD
__________________
Unset($vida['malRollo']);
  #8 (permalink)  
Antiguo 19/08/2016, 13:34
 
Fecha de Ingreso: marzo-2015
Mensajes: 15
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

Yo cambiaria

Código PHP:
$elfavorito mysqli_query($con,$elsql); 
Por:

Código PHP:
mysqli_query($con,$elsql); 
  #9 (permalink)  
Antiguo 20/08/2016, 09:13
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

Cita:
Iniciado por domingoficial1 Ver Mensaje
Yo cambiaria

Código PHP:
$elfavorito mysqli_query($con,$elsql); 
Por:

Código PHP:
mysqli_query($con,$elsql); 
Y eso por que? Algún motivo en concreto?

Y si más adelante necesita comprobar si la consulta fue exitosa?

Código PHP:
$elfavorito mysqli_query($con,$elsql); 

/* Otro código */

if ($elfavorito)
{
    echo 
'Consulta exitosa';

Segun el manual para mysqli_query retorna:
Cita:
Retorna FALSE en caso de error. Si una consulta del tipo SELECT, SHOW, DESCRIBE o EXPLAIN es exitosa, mysqli_query() retornará un objeto mysqli_result. Para otras consultas exitosas de mysqli_query() retornará TRUE.
__________________
Unset($vida['malRollo']);
  #10 (permalink)  
Antiguo 21/08/2016, 20:41
 
Fecha de Ingreso: enero-2016
Ubicación: Venezuela
Mensajes: 139
Antigüedad: 8 años, 3 meses
Puntos: 3
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

Cita:
Iniciado por basura1973 Ver Mensaje
Hola, lo ejecute asi desde SQL y me funciono

DELETE FROM favoritos WHERE usuario='hander' AND contrasena='12345' AND titulo='Medicos' AND web='https://www.medicos.com' AND categoria='Alergología' AND comentario='Excelente sitio' AND valoracion='10'
Has probado haciendolo de esa manera pero desde PHP?

Otra cosa que veo es que pones los puntos dentro de las comillas, yo normalmente no hago eso ya que algunas veces me generaba error, intenta hacerlo de este modo:

Código PHP:
$elsql "DELETE FROM favoritos WHERE usuario="$usuario" AND contrasena="$contrasena" AND titulo="$eltitulo" AND web="$elweb" AND categoria="$elcategoria" AND comentario="$elcomentario" AND valoracion="$elvaloracion" "
Saludos.
  #11 (permalink)  
Antiguo 21/08/2016, 22:27
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

Cita:
Iniciado por xerifandtomas Ver Mensaje
Y eso por que? Algún motivo en concreto?

Y si más adelante necesita comprobar si la consulta fue exitosa?

Código PHP:
$elfavorito mysqli_query($con,$elsql); 

/* Otro código */

if ($elfavorito)
{
    echo 
'Consulta exitosa';

Segun el manual para mysqli_query retorna:
Podes hacer lo siguiente para comprobarla en el momento.
Código PHP:
if ( !mysqli_query($con,$elsql) ) {
  throw new 
Exception('Error en la consulta');

  #12 (permalink)  
Antiguo 23/08/2016, 17:45
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: Problema Con Eliminación de Registros de Una Base de Datos

si en lugar de mysqli_query usas mysqli_prepare y mysqli_stmt_bind_param para evitar que alguna vez alguien te haga una injeccion MYSQL

http://php.net/manual/es/mysqli-stmt.bind-param.php

Etiquetas: formulario, mysql, registro, registros, sql, variable
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:58.