Question:
Date: 23-09-2019 10:39:39
(In Spanish)
Y este es parte del script que estoy utilizando para enviar la información del formulario a la página donde se ejecutan las operaciones que están en la parte de arriba:
Si alguien logra ver donde tengo el error y me lo hace saber, se lo agradezco. Saludos. Votes: 0 - Answers: 2 - Views: 8 Share on: Google Facebook Twitter LinkedIn Link
Problema con update a la base de datos[Resolved]
Buenas tardes, estoy integrando Fullcalendar a mi proyecto y todo funciona bien excepto el UPDATE, lo he revisado muchas veces y no logro dar con el problema, quizás acá alguien pueda ver donde tengo el error, este es el archivo donde estoy ejecutando la consulta, el CREATE, el UPDATE y el DELETE:header('Content-Type: application/json'); include ("connection.php"); $accion= (isset($_GET['accion']))?$_GET['accion']:'leer'; switch($accion){ case 'agregar': $title= mysqli_real_escape_string($connection, $_POST['title']); $descripcion= mysqli_real_escape_string($connection, $_POST['descripcion']); $color= mysqli_real_escape_string($connection, $_POST['color']); $textColor= mysqli_real_escape_string($connection, $_POST['textColor']); $start= mysqli_real_escape_string($connection, $_POST['start']); $end= mysqli_real_escape_string($connection, $_POST['end']); $sentenciaSQL= mysqli_query($connection,"INSERT INTO schedule(title,descripcion, color,textColor,start,end) VALUES('$title','$descripcion','$color','$textColor','$start','$end')"); $respuesta= mysqli_fetch_array($sentenciaSQL); echo json_encode($respuesta); break; case 'eliminar': $id=mysqli_real_escape_string($connection, $_POST['id']); $sentenciaSQL= "DELETE FROM schedule WHERE '$id'=id"; $respuesta= $connection->query($sentenciaSQL); echo json_encode($respuesta); break; case 'modificar': $id=mysqli_real_escape_string($connection, $_POST['id']); $sentenciaSQL= mysqli_query($connection,"UPDATE schedule SET title='$title', descripcion='$descripcion', color='$color', textColor='$textColor', start='$start', end='$end' WHERE $id='id'"); $respuesta= mysqli_fetch_array($sentenciaSQL); echo json_encode($respuesta); break; default: $sentenciaSQL= "SELECT * FROM schedule"; $SQL_action= mysqli_query($connection, $sentenciaSQL); $resultado= $SQL_action->fetch_all(MYSQLI_ASSOC); echo json_encode($resultado); break; }
Y este es parte del script que estoy utilizando para enviar la información del formulario a la página donde se ejecutan las operaciones que están en la parte de arriba:
var NuevoEvento; $('#btnAgregar').click(function(){ RecolectarDatosGUI(); EnviarInformacion('agregar',NuevoEvento); }); $('#btnEliminar').click(function(){ RecolectarDatosGUI(); EnviarInformacion('eliminar',NuevoEvento); }); $('#btnModificar').click(function(){ RecolectarDatosGUI(); EnviarInformacion('modificar',NuevoEvento); }); function RecolectarDatosGUI(){ NuevoEvento= { id:$('#txtID').val(), title:$('#txtTitulo').val(), start:$('#txtFecha').val()+" "+$('#txtHora').val(), color:$('#txtColor').val(), descripcion:$('#txtDescripcion').val(), textColor:"#FFFFFF", end:$('#txtFecha').val()+" "+$('#txtHora').val() }; } function EnviarInformacion(accion,objEvento,modal){ $.ajax({ type:'POST', url:'schedule_events.php?accion='+accion, data:objEvento, success:function(msg){ if(msg){ $('#CalendarioWeb').fullCalendar('refetchEvents'); if(!modal){ $("#ModalEventos").modal('toggle'); } $("#ModalEventos").modal('toggle'); } },
Si alguien logra ver donde tengo el error y me lo hace saber, se lo agradezco. Saludos. Votes: 0 - Answers: 2 - Views: 8 Share on: Google Facebook Twitter LinkedIn Link
Answers:
-
Date: 24-09-2019 05:05:38 En las clausulas de DELETE y UPDATE tienes mal el WHERE.
Cámbialos por:
WHERE id='$id'
Te recomiendo que utilices 'declaraciones preparadas' (prepared statements) de lo contrario tu código es vulnerable.
Saludos Votes: 1 - Link answer -
Date: 24-09-2019 07:54:24 Gracias Ernesto, aparte de eso que me dijiste también estaba mezclando metodologías, al unificarlas y hacer el cambio que me sugieres funcionó. No sé que es eso de declaraciones preparadas pero voy a investigar. Nuevamente gracias. Saludos. Votes: 1 - Link answer
To actively participate in the community first must authenticate, enter the system.Sign In