Foros del Web » Programando para Internet » PHP »

problema UPDATE mysql

Estas en el tema de problema UPDATE mysql en el foro de PHP en Foros del Web. desde php necesito modificar tablas automaticamente (al entrar en la pagina) y utilizo el siguiente codigo Código PHP: $sql  =  "UPDATE batallas SET soldados primer campo = '$primeravariable', segundo campo = '$segundavariable',  WHERE id = '$ev'"  ;  mysql_query  (  $sql  ...
  #1 (permalink)  
Antiguo 07/07/2011, 07:46
RG1
 
Fecha de Ingreso: octubre-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
problema UPDATE mysql

desde php necesito modificar tablas automaticamente (al entrar en la pagina) y utilizo el siguiente codigo

Código PHP:
$sql "UPDATE batallas SET soldados primer campo = '$primeravariable', segundo campo = '$segundavariable',  WHERE id = '$ev'" 
mysql_query $sql );

if(
$sql == false) {
    echo 
'<p>Error al modificar los campos en la tabla.</p>';
}else{
    echo 
'<p>Los datos se han modificado correctamente.</p>';

todas las variables estan definidas, y como ven he puesto un if para ver si se ha modificado o no y me dice que si, pero al mirar en la base de datos no ha cambiado nada :S

ayuda por favor

gracias ;)
  #2 (permalink)  
Antiguo 07/07/2011, 07:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: problema UPDATE mysql

"soldados primer campo" ¿Es el nombre real de esa columna? Porque escrito así, MySQL lo interpretará como un error de sintaxis... parecen tres campos distintos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/07/2011, 07:51
RG1
 
Fecha de Ingreso: octubre-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: problema UPDATE mysql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
"soldados primer campo" ¿Es el nombre real de esa columna? Porque escrito así, MySQL lo interpretará como un error de sintaxis... parecen tres campos distintos.

¿como deberia estar escrito?
  #4 (permalink)  
Antiguo 07/07/2011, 07:51
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: problema UPDATE mysql

En tu base de datos los campos de la tabla se llama 'soldados primer campoo' con espacio y todo ?

por que lo normal seria:

UPDATE tu_tabla SET primer_campo = $valor, segunco_campo = $valor WHERE identificador = $id;

Adicionalmente, quitale la coma (,) que esta antes de la clausula WHERE:

'$segundavariable', WHERE
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 07/07/2011, 07:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: problema UPDATE mysql

Cita:
Iniciado por RG1 Ver Mensaje
¿como deberia estar escrito?
Es una pésima forma escribir nombres de bases, tablas o campos con caracteres que puedan causar problemas, como espacios, signos, acentos, etc. El que el sistema te lo permita no quiere decir que luego no te causen problemas cuando estás escribiendo si te olvidaste de considerarlo.
En general la solución mejor es lo que te dice jotaincubus, hacer que los nombres estén unidos por la raya (_), pero si aún así quieres usarlos de ese modo, lo que se hace es encerrarlos entre acentos inversos (`):
Código MySQL:
Ver original
  1. UPDATE batallas
  2.     SET `soldados primer campo` = '$primeravariable',
  3.     `segundo campo` = '$segundavariable'
  4. WHERE id = '$ev'
Pero en este caso tienes que tener cuidado. El nombre debe ser exactamente el mismo, con la misma cantidad de espacio entre letras, y sin espacios al final o al inicio del nombre.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 07/07/2011, 07:59
RG1
 
Fecha de Ingreso: octubre-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: problema UPDATE mysql

he cambiado los nombres de los campos y todo, pero sigue sin funcionar :S
  #7 (permalink)  
Antiguo 07/07/2011, 08:01
Avatar de Melecio  
Fecha de Ingreso: julio-2011
Ubicación: Coahuila
Mensajes: 320
Antigüedad: 13 años, 4 meses
Puntos: 8
Respuesta: problema UPDATE mysql

que tal asi

-------------
$sql = "UPDATE tu_tabla SET primer_campo = '$valor1' and segundo_campo = '$valor2' WHERE identificador = $id";

$result = mysql_query ( $sql );

if($result == false) {
echo '<p>Error al modificar los campos en la tabla.</p>';
}else{
echo '<p>Los datos se han modificado correctamente.</p>';
}
  #8 (permalink)  
Antiguo 07/07/2011, 08:04
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: problema UPDATE mysql

Utiliza esto para saber que es lo que esta pasando al ejecutar el query

mysql_query ( $sql ) or die ('Error actualizando: '. mysql_error());

si le quitaste la COMA antes del WHERE ?
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #9 (permalink)  
Antiguo 07/07/2011, 08:08
RG1
 
Fecha de Ingreso: octubre-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: problema UPDATE mysql

he cambio los nombres en la base de datos y en la pagina y nada no funciona
  #10 (permalink)  
Antiguo 07/07/2011, 08:11
RG1
 
Fecha de Ingreso: octubre-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: problema UPDATE mysql

Cita:
Iniciado por jotaincubus Ver Mensaje
Utiliza esto para saber que es lo que esta pasando al ejecutar el query

mysql_query ( $sql ) or die ('Error actualizando: '. mysql_error());

si le quitaste la COMA antes del WHERE ?
he utilizado mysql_query ( $sql ) or die ('Error actualizando: '. mysql_error()); y me ha dado error voy a modificarlo a ver

gracias ;)

editado: vi el error y ya me funciona gracias a todos ;)

Etiquetas: mysql, tabla, update, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:28.