Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2013, 12:26
munekitacazibarbie
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 1
Actualizar campos

Hola!
Igual y ya esta el tema sobre el que preguntaré pero estoy atorada con esto...

Resulta que tengo que actualizar algunos campos pero al momento de darle "actualizar" me 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 'de Lucas Palacios' at line 1

Si en la parte del select lo hago así: "select * from delegados where nombre = $registro".... si me muestra los campos pero no actualiza y si le quito las comillas a registro, me manda el error que puse arriba.

Los código que tengo para actualizar es el siguiente:

Código PHP:
Ver original
  1. $db_link = mysql_select_db('delegados', $link);
  2. if (!$db_link){
  3.     die ('Error al intentar seleccionar la bd' . mysql_error());
  4. }
  5. /**Fin de conexion**/
  6. //recogemos el ID del registro a actualizar
  7. if (isset ($_GET['nombre'])){
  8.     $registro = $_GET['nombre'];
  9.     //hacemos la consulta para mostrar los datos
  10.     $sql = mysql_query ("select * from delegados where nombre = $registro", $link) or die (mysql_error());
  11.     $row = mysql_fetch_array ($sql);
  12.     //advertimos
  13.     //$mensaje = "Actualizar los datos <b> $row ['registro']</b>";
  14. }
  15. //comprobamos si ha sido enviado el formulario
  16. if (isset($_POST['actualizar']) && $_POST['actualizar'] == 'actualizar') {
  17. //comprobamos que no lleguen campos vacíos
  18. if (!empty ($_POST['delegacion']) &&
  19. !empty ($_POST['estado']) && !empty ($_POST['cargo']) && !empty ($_POST['nombre']) && !empty ($_POST['propuesta']) && !empty ($_POST['estatus']) && !empty ($_POST['observaciones']) && !empty ($_POST['telefono'])){
  20.     //creamos las variables que vamos a usar en la consulta UPDATE y le asignamos sus valores  
  21.     $delegacion = $_POST['delegacion'];
  22.     $estado = $_POST['estado'];
  23.     $cargo = $_POST['cargo'];
  24.     $nombre = $_POST['nombre'];
  25.     $propuesta = $_POST['propuesta'];
  26.     $estatus = $_POST['estatus'];
  27.     $observaciones = $_POST['observaciones'];
  28.     $telefono =$_POST['telefono'];
  29.    
  30.     //la consulta UPDATE
  31.    
  32.     //echo "UPDATE factura SET num_partida =".$num_partida.", num_factura = ".$num_factura.", fecha_ingreso =".$fecha_ingreso." where num_contrato=".$registro;
  33.     $sqlUpdate="UPDATE delegados SET delegacion =".$delegacion.", estado =".$estado.", cargo =".$cargo.", nombre =".$nombre.", propuesta =".$propuesta.", estatus =".$estatus.", observaciones =".$observaciones.", telefono =".$telefono." where nombre=".$registro;
  34.    
  35.     mysql_query($sqlUpdate, $link)or die (mysql_error ());
  36.     echo "Registro actualizado correctamente";
  37. }else{
  38.    
  39.     echo "debe llenar todos los campos";
  40. }
  41. }else{
  42.    
  43.     //mostramos el mensaje
  44.     echo "<p" .$mensaje. "</p>";
  45.     ?>


Y la variable nombre la envío así:

Código PHP:
Ver original
  1. ?>
  2. <tr>
  3. <td align="center" bgcolor="#FFFFFF"><?php print $row ["delegacion"];?> </td>
  4. <td align="center" bgcolor="#FFFFFF"><?php print $row ["estado"];?></td>  
  5. <td align="center" bgcolor="#FFFFFF"><?php print $row ["cargo"];?></td>
  6. <?php
  7. echo "<td><a href=\"editar.php?nombre=".$row ['nombre']."\">";
  8. echo $row['nombre']."</a></td>";
  9. ?>
  10. <td align="center" bgcolor="#FFFFFF"><?php print $row ["propuesta"];?> </td>
  11. <td align="center" bgcolor="#FFFFFF"><?php print $row ["estatus"];?> </td>
  12. <td align="center" bgcolor="#FFFFFF"><?php print $row ["observaciones"];?> </td>
  13. <td align="center" bgcolor="#FFFFFF"><?php print $row ["telefono"];?> </td>
  14. <td><a href="eliminar.php?nombre=<?php echo $row ["nombre"];?>">Eliminar</a></td>              
  15.     </tr>  
  16.   <?php


Espero que puedan ayudarme porque igual es un mínimo detalle pero aún no lo encuentro

Gracias!!!