Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/01/2015, 19:51
Avatar de danichalay
danichalay
 
Fecha de Ingreso: julio-2009
Mensajes: 35
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema para actualizar datos en mysql(problema de principiante)

hola Begotten,

el problema en tu consulta es la concatenacion, para concatenar se utiliza la funcion [URL="http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_concat"]concat[/URL] de tal manera que tu código quedaría así

Código PHP:
Ver original
  1. function actualizarObras($obra){
  2.  
  3.  $con=mysqli_connect("localhost","root","","mydb");
  4. // Check connection
  5.   {
  6.   echo "Failed to connect to MySQL: " . mysqli_connect_error();
  7.   }
  8.  
  9. $query_select = "SELECT * FROM detalle_obra WHERE cod_obra = '$obra'";
  10. $query_execute = $con->query($query_select);
  11.  
  12. while($query_result = $query_execute->fetch_array()) {
  13.   $egre = $query_result['egresos'];
  14.   $ingre = $query_result['ingresos'];  
  15.   $recepci = $query_result['recepcion'];
  16.   $combusre = $query_result['combustible_recepcion'];
  17.   $combuem = $query_result['combustible_emision'];
  18.   $conslt = "UPDATE obra SET obra.egresos = concat(obra.egresos,'$egre') WHERE obra.codigo = '$obra'";
  19.   mysqli_query($con, $conslt);
  20.   $conslt2 = "UPDATE obra SET obra.ingresos = concat(obra.ingresos,'$ingre') WHERE obra.codigo = '$obra'";
  21.   mysqli_query($con, $conslt2);
  22.   $conslt3 = "UPDATE obra SET obra.recepcion = concat(obra.recepcion,'$recepci') WHERE obra.codigo = '$obra'";
  23.   mysqli_query($con, $conslt3);
  24.   $conslt4 = "UPDATE obra SET obra.combustible_recepcion = concat(obra.combustible_recepcion,'$combusre') WHERE obra.codigo = '$obra'";
  25.   mysqli_query($con, $conslt4);
  26.   $conslt5 = "UPDATE obra SET obra.combustible_emision = concat(obra.combustible_emision,'$combuem') WHERE obra.codigo = '$obra'";
  27.   mysqli_query($con, $conslt5);
  28.  
  29. }
  30.  
  31. mysqli_close($con);
  32. }