Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con UPDATE

Estas en el tema de Problema con UPDATE en el foro de PHP en Foros del Web. Estoy teniendo problemas con este codigo para la actualizacion de datos por parte de un usuario, Código PHP: <? require_once  'php_sitio/db.php' ; if(! $_SESSION [ ...
  #1 (permalink)  
Antiguo 29/05/2014, 10:26
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Problema con UPDATE

Estoy teniendo problemas con este codigo para la actualizacion de datos por parte de un usuario,

Código PHP:
<?
require_once 'php_sitio/db.php';

if(!
$_SESSION['idusuario']) { header("Location: /"); exit; }

$id $_SESSION['idusuario'];

if(isset(
$_POST['enviando'])) {


    if(!isset(
$_POST['nombreyape'])) die();
    if(!isset(
$_POST['email'])) die();
    

    
$hubo_errores=false;
    if(
strlen($_POST['nombreyape'])<3) { $nombreyape_error=true$hubo_errores=true; }
    if(
strlen($_POST['email'])<3) {$email_error1=true$hubo_errores=true; }
    
    

    
$nombreape mysql_real_escape_string(substr($_POST['nombreyape'],0,70));
    
$email mysql_real_escape_string(substr($_POST['email'],0,150));
    
    

    
$res mysql_query("select * from usuarios where 
    email='"
.$email."' and id <> " $_SESSION['idusuario']);

    if(
mysql_num_rows($res)!=0) {$email_error=true$hubo_errores=true; }
        
        
    if (!
$hubo_errores) {
        
        
$q "UPDATE usuarios SET 
                nombre='$nombreape',
                email='$email',
                WHERE id=" 
.$_SESSION['idusuario'] ;
            
        
mysql_query($q) or die(mysql_error());
        

        
header("Location: datos1.php?actualizado");
        exit;
        
    }

}    

$res=mysql_query('select u.* , l.id_provincia
                    from usuarios u
                    left join localidades l on l.id = u.id_localidad
                    where u.id ='
.$_SESSION['idusuario']);


            
if(
mysql_num_rows($res)!=1) die("error");
                    
$datos mysql_fetch_assoc($res);

?>
O bien obtengo un 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 'WHERE id=2' at line 4'"

o se actualiza la pagina pero los datos no son actualizados

aca el formulario

Código PHP:
    <form class="form-horizontal" action="datos1.php" method="POST">
            <div class="tab-content">
            
                <!-- Tab content -->
                <div class="tab-pane active" id="account-details">
                
                    <!-- Row -->
                    <div class="row">
                    
                        <!-- Column -->
                        <div class="col-md-6">


                        

                        <!-- <form action="datos1.php" method="POST"> -->

                            <!-- Group -->
                            <div class="form-group margin-none innerB">
                                <label class="col-md-3 control-label">Nombre</label>
                                <div class="col-md-9">
                                    <div class="input-group">
                                        <input type="text" value="<?=$datos['nombre']?>" name="nombreyape" class="form-control" />
                                        <span class="input-group-addon" data-toggle="tooltip" data-container="body" data-placement="top" data-original-title="First name is mandatory"><i class="fa fa-question-circle"></i></span>
                                    </div>
                                </div>
                            </div>
                            <!-- // Group END -->
                            
                            <!-- Group -->
                            <div class="form-group margin-none innerB">
                                <label class="col-md-3 control-label">Usuario</label>
                                <div class="col-md-9">
                                    <div class="input-group">
                                        <input type="text" value="<?=$datos['usuario']?>" name="nombre" class="form-control" disabled/>
                                        <span class="input-group-addon" data-toggle="tooltip" data-container="body" data-placement="top" data-original-title="Last name is mandatory"><i class="fa fa-question-circle"></i></span>
                                    </div>
                                </div>
                            </div>
                            <!-- // Group END -->
                            
                        

                            <div class="form-group margin-none innerB">
                            <label class="col-md-3 control-label">E-mail</label>
                            <div class="col-md-9">
                                <input type="text" name="email" class="form-control" value="<?=$datos['email']?>" />
                            </div>
                            </div>
                            <!-- // Group END -->
                            
                        </div>
                        <!-- // Column END -->
                        
                    </div>
                    <!-- // Row END -->
                    
                    
                    
                
                    <div class="separator line bottom"></div>
                    <div class="separator line bottom"></div>
                    
                    
                    <!-- Form actions -->
                    <div class="separator top">
                        <button class="btn btn-primary"><i class="fa fa-fw fa-check-square-o"></i> Actualizar</button>
                        <input type="hidden" name="enviando" value="1"/>
                    </div>

                    </form>

Última edición por asanti; 29/05/2014 a las 10:33 Razón: falto parte del codigo
  #2 (permalink)  
Antiguo 29/05/2014, 10:33
Myl
 
Fecha de Ingreso: agosto-2011
Mensajes: 61
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Problema con UPDATE

El problema esta en

UPDATE usuarios SET
nombre='$nombreape',
email='$email',
WHERE id=" .$_SESSION['idusuario']

Cuando viene el WHERE no ya no es necesaria la coma (,)

UPDATE usuarios SET
nombre='$nombreape',
email='$email'
WHERE id=" .$_SESSION['idusuario']
  #3 (permalink)  
Antiguo 29/05/2014, 14:20
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema con UPDATE

ahi estaba el problema! me estaba volviendo loco, muchas gracias

Etiquetas: mysql, select, sql, update, usuarios
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 14:02.