Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2014, 18:12
Avatar de MLDGATO
MLDGATO
 
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 2
Pregunta Error al realizar un update por medio de ajax

Hola estoy tratando de hacer un update a una tabla de mi base de datos, la idea para realizar la actualización es que tengo varios inputs y cada uno tiene el evento onBlur, asi que hago clic en uno hago el cambio y cunado hago clic en otro lado o hago foco en otro lugar se debe realizar el update, en teoría todo está funcionando bien menos la consulta encargada de hacer el Update ya que sale el siguiente error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''NombreEmpresa' = 'Colegio Shalom1' WHERE IdPerfil = '1'' at line 1


Todos los inputs están de la siguiente manera:

Código HTML:
Ver original
  1. <input name="NombreEmpresa" type="text" class="datosmenor" id="NombreEmpresa" onBlur="actualiza(<?php echo $idperfil; ?>, this.id, this.value)" value="<?php echo $fila['NombreEmpresa']; ?>">

El evento OnBlur llama a la función actualiza y le envía tres parámetros: el id de mi fila, el nombre del input(ya que el input se llama igual a la columna de mi base de datos) y el valor del input. la función es la siguiente:

Código Javascript:
Ver original
  1. function actualiza(id, columna, valor)
  2. {
  3.     var actualizar;
  4.     if(window.XMLHttpRequest)
  5.     {
  6.         actualizar = new XMLHttpRequest();
  7.     }
  8.     else
  9.     {
  10.         actualizar = new ActiveXObject("Microsoft.XMLHTTP");
  11.     }
  12.     actualizar.onreadystatechange=function()
  13.     {
  14.         if(actualizar.readyState==4 && actualizar.status==200)
  15.         {
  16.             document.getElementById("Mensaje").innerHTML=actualizar.responseText;
  17.         }
  18.     }
  19.     actualizar.open("GET","actualiza.php?puesto="+id+"&col="+columna+"&val="+valor,true);
  20.     actualizar.send();
  21. }

y por ultimo el php que es en donde tengo el problema:

Código PHP:
Ver original
  1. include("../Conexion/conexion.php");
  2.    
  3.     $id = mysqli_real_escape_string($conexion, $_GET['puesto']);
  4.     $columna = mysqli_real_escape_string($conexion, $_GET['col']);
  5.     $valor = mysqli_real_escape_string($conexion, $_GET['val']);
  6.    
  7.     $consulta = mysqli_query($conexion, "UPDATE PerfilPuesto SET '".$columna."' = '".$valor."' WHERE IdPerfil = '".$id."'")  or die("Error al ejecutar la query: ".mysqli_error($conexion));
  8.    
  9.     if(mysqli_affected_rows($consulta) == 1)
  10.     {
  11.         echo "Registro Actualizado";
  12.     }
  13.     elseif(mysqli_affected_rows($consulta) == 0)
  14.     {
  15.         echo "No se actualizo el registro";
  16.     }
  17.     elseif(mysqli_affected_rows($consulta) != 0 || mysqli_affected_rows($consulta) != 1)
  18.     {
  19.         echo "Se genero un error";
  20.     }
espero haber sido explicito, muchas gracias por cualquier orientación.