Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema update

Estas en el tema de Problema update en el foro de PHP en Foros del Web. Hola a todos, tengo un problema con el update que no se porque no funciona, y no le veo logica alguna. Me sale el error ...
  #1 (permalink)  
Antiguo 10/01/2013, 06:14
 
Fecha de Ingreso: noviembre-2012
Ubicación: Spain
Mensajes: 28
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Problema update

Hola a todos, tengo un problema con el update que no se porque no funciona, y no le veo logica alguna.

Me sale el error del final ("Se ha producido un error"), no se si es que no escribo bien la sentencia del update o que pasa :S

Código PHP:
<?php
include('connect.php');
if (
$_POST["action"] == "upload") {
    
$nombre $_POST["sala_nombre"];
    
$provincia $_POST["sala_provincia"];
    
$ciudad $_POST["sala_ciudad"];
    
$direccion $_POST["sala_dir"];
    
$extras $_POST["sala_ext"];
    
$tipomusica $_POST["sala_musi"];
    
$web $_POST["sala_web"];
    
$enlacemapa $_POST["sala_map"];
    
$id_sala $_POST["salaid"];
    
    
$sql mysql_query("UPDATE sala_profile SET sala_name = ".$nombre.", sala_provincia = ".$provincia.", sala_ciudad = ".$ciudad.", sala_dir".$direccion.", sala_extras= ".$extras.", sala_music= ".$tipomusica.", sala_web = ".$web.", sala_map = ".$enlacemapa." WHERE id_sala = ".$id_sala."");
    
    
// obtenemos los datos del archivo
    
$tamano $_FILES["archivo"]['size'];
    
$tipo $_FILES["archivo"]['type'];
    
$archivo $_FILES["archivo"]['name'];
    
$criptado md5($id_sala);
    
$extension explode("/",$tipo);
      
    if (
$archivo != "") {
        
// guardamos el archivo a la carpeta sala_logo
        
$destino =  "images/sala_logo/sala_logo_".$criptado.".jpg";
        if (
copy($_FILES['archivo']['tmp_name'],$destino)) {
        } else {
            
$status "Error al subir el archivo";
        }
    } 
    if(
$sql) { 
        
?> <script>window.location.href="index_includes.php";</script> <?php
    
}else { 
        echo 
"Se ha producido un error"
    }
}
?>
Gracias por la ayuda de antemano.
  #2 (permalink)  
Antiguo 10/01/2013, 06:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema update

Te falta un "=" en uno de los campos, y además las cadenas de texto deben quedar siempre entre apóstrofes.
Esto último no queda claro si en tu caso son o no numéricos, pero suponiendo que fueran testo, la solución sería:
Código PHP:
Ver original
  1. $sql = mysql_query("UPDATE sala_profile SET sala_name = '".$nombre."', sala_provincia = '".$provincia."', sala_ciudad = '".$ciudad."', sala_dir = '".$direccion."', sala_extras= '".$extras."', sala_music= '".$tipomusica."', sala_web = '".$web."', sala_map = '".$enlacemapa."' WHERE id_sala = ".$id_sala);
Pero para poder visualizar correctamente lo que vas construyendo, ayuda mucho si lo haces en una variable, y paso a paso:

Código PHP:
Ver original
  1. $qry = "UPDATE sala_profile SET ";
  2. $qry .= "sala_name = '".$nombre."', ";
  3. $qry .= "sala_provincia = '".$provincia."', ";
  4. $qry .= "sala_ciudad = '".$ciudad."', ";
  5. $qry .= "sala_dir = '".$direccion."', ";
  6. $qry .= "sala_extras= '".$extras."', ";
  7. $qry .= "sala_music= '".$tipomusica."', ";
  8. $qry .= "sala_web = '".$web."', ";
  9. $qry .= "sala_map = '".$enlacemapa."' ";
  10. $qry .= "WHERE id_sala = ".$id_sala);
  11. echo $qry;
  12. $sql = mysql_query($qry);

De ese modo es más fácil ver si hay errores evidentes en la sintaxis, y un buen echo previo, durante la etapa de desarrollo, permite verificar si la consulta quedó correctamente armada, en base a los valores de las variables (pueden esconder otros errores no detectables a simple vista).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql, sql, update
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 05:50.