New question

Question:

Date: 23-09-2019 10:39:39 (In Spanish)

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.
Tags: Database - Javascript - Javascript Array - JQuery - MySQL - PHP - PHP Advanced - PHP MySQLi - Question - SQL - Web 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
 
frjcbbae garagebible.com