PHP - Problema Con Eliminación de Registros de Una Base de Datos

   
Vista:

Problema Con Eliminación de Registros de Una Base de Datos

Publicado por Hans (21 intervenciones) el 19/08/2016 16:04:14
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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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);
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip

Problema Con Eliminación de Registros de Una Base de Datos

Publicado por kip (560 intervenciones) el 19/08/2016 16:56:20
Hola, deberias colocar las comillas simples en todo tipo de variable string que vayas a introducir en la consulta, asi:

1
2
3
4
5
6
$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
if($elfavorito = mysqli_query($con,$elsql)){
	echo 'Eliminacion exitosa!';
}

Ademas de eso, le veo mal que coloques tantos parametros, pero no se como es la logica del sistema que estas desarrollando asi que me ahorro a decirte que lo mejor es tener un id unico de cada dato que quieras eliminar para asi evitarte enviar tantos parametros.

Nos cuentas si lo pudiste solucionar.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema Con Eliminación de Registros de Una Base de Datos

Publicado por Hans (21 intervenciones) el 19/08/2016 17:15:11
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

En phpmyadmin lo ejecute de esta manera y funciono

DELETE FROM favoritos WHERE usuario='pedro' AND contrasena='12345' AND titulo='Medicos' AND web='https://www.medicos.com' AND categoria='Alergología' AND comentario='Excelente sitio' AND valoracion='10'

Pero si pongo en PHP las variables dentro de unas comillas simples no me elimina los registros
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

Problema Con Eliminación de Registros de Una Base de Datos

Publicado por kip (560 intervenciones) el 19/08/2016 17:19:52
Te mostro el mensaje de exito ?

1
2
3
if($elfavorito = mysqli_query($con,$elsql)){
	echo 'Eliminacion exitosa!';
}

Si no lo hizo, entonces no te esta ejecutando la query correctamente, si haces un SELECT si lo hace?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.

Problema Con Eliminación de Registros de Una Base de Datos

Publicado por Leonardo Daniel A. (9 intervenciones) el 19/08/2016 17:08:58
Hola. has un echo de $elsql


echo $elsql
return

para que veas en el navegador la sentencia SQL que se formo, copiala y pegala en el PHPMyAdmin o el gestor que uses, yo utilizo Navicat
y si no funciona te marcara el error de sintaxis, el asunto es ver como se formo la cadena SQL



ahh y se me olvidaba, porque en la tabla favoritos tienes la clave del usuario ???

que no seria mejor una tabla usuarios con id_usuario, usuario, clave y en la de favoritos tendrias id_usuario en lugar de su nombre, pero bueno cuestion de diseño
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar