Foros del Web » Programando para Internet » PHP »

Problema con update

Estas en el tema de Problema con update en el foro de PHP en Foros del Web. Hola amigos tengo el siguiente problema resulta que quiero hacer un update pero me retorna un 1 y en la pagina me sale un error ...
  #1 (permalink)  
Antiguo 12/05/2009, 16:26
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Problema con update

Hola amigos tengo el siguiente problema resulta que quiero hacer un update pero me retorna un 1 y en la pagina me sale un error respecto a eso, aqui les dejo el codigo, ojalá me puedan ayudar

Código PHP:
if ($_POST['CmdUpdate']){
    
session_start();
    include(
"conexion.php");
    
$user $_SESSION['k_username'];
    
$x mssql_query("SELECT REGISTRO.reg_id FROM REGISTRO WHERE REGISTRO.reg_usu ='$user'");
    
$id_user mssql_fetch_row($x);
    
$id_user=$id_user[0];
     
    
$mail=$_POST['newmail'];
    
$pais=$_POST['xx'];
    
    
$ape=$_POST['newape'];    
    
$nom=$_POST['newnom'];
    
$codigo=$_POST['newcode'];    
    
    echo 
$update mssql_query("UPDATE REGISTRO SET REGISTRO.reg_usu ='$mail',REGISTRO.pai_id ='$pais' WHERE REGISTRO.reg_usu ='$id_user'");
    
$ejecutar mssql_query($update,$con);
    
    
    
$update mssql_query("UPDATE CLIENTE  SET CLIENTE.cli_nom ='$nom',CLIENTE.cli_ape='$ape',CLIENTE.cli_zipcode ='$codigo' where CLIENTE.reg_id ='$id_user'");
    
$ejecutar mssql_query($update,$con);
    
}else{
ob_start();
  
header("refresh: 3; url = index.php");  
  echo 
'Espere un momento y sera redireccionado...';
ob_end_flush();

en ambos updates es lo mismo aqui les dejo el error que me sale
ese uno sale por el echo del update
Cita:

1
Warning: mssql_query() [function.mssql-query]: message: Línea 1: sintaxis incorrecta cerca de '1'. (severity 15) in C:\wamp\www\Hotel\update_cli.php on line 18

Warning: mssql_query() [function.mssql-query]: Query failed in C:\wamp\www\Hotel\update_cli.php on line 18

Warning: mssql_query() [function.mssql-query]: message: Línea 1: sintaxis incorrecta cerca de '1'. (severity 15) in C:\wamp\www\Hotel\update_cli.php on line 22

Warning: mssql_query() [function.mssql-query]: Query failed in C:\wamp\www\Hotel\update_cli.php on line 22
  #2 (permalink)  
Antiguo 12/05/2009, 16:47
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 1 mes
Puntos: 2
Respuesta: Problema con update

Saludos death_nemesis

en los querys te falta la variable de conexion.

$x = mssql_query("SELECT REGISTRO.reg_id FROM REGISTRO WHERE REGISTRO.reg_usu ='$user'",$con)

$update = mssql_query("UPDATE REGISTRO SET REGISTRO.reg_usu = '$mail',REGISTRO.pai_id ='$pais' WHERE REGISTRO.reg_usu ='$id_user'",$con);


no necesitas ejecutar nuevamente porque ya la tienes arriba, ojo que te falta el $con

$ejecutar = mssql_query($update,$con);


con esas modificaciones te debe dejar hacer los updates
  #3 (permalink)  
Antiguo 12/05/2009, 19:36
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Gracias por responder tan rapido tattojk, y vale por tu ayuda hice lo que me dijiste y funciono altiro, voy a hacerlo de la misma manera en los demas querys para que asi no tenga problemas a futuro.

PD: Si me hacia el update de la menera que aparece aqui solo que me salia ese error, que ya no esta mas

ahora resulta que tengo otro problema resulta que el primer update lo hace sin problemas pero el segundo no. será por que no estoy haciendo bien quizas el update anidado ?
dejo las tablas para que asi se aprecie mejor el update que quiero hacer y claro el codigo

Cita:
create table REGISTRO(
reg_id int not null identity(1,1)constraint pkreg primary key,
reg_usu varchar(50) not null,
reg_pas varchar(50),
pai_id int not null constraint fkreg1 foreign key references PAIS(pai_id),
gen_id int not null constraint fkreg2 foreign key references GENERO(gen_id),
est_id int not null constraint fkreg3 foreign key references ESTADO (est_id),
reg_num int not null
);

create table CLIENTE(
cli_id int not null identity(1,1) constraint pkcli primary key,
reg_id int not null constraint fkcli1 foreign key references REGISTRO(reg_id),
cli_nom varchar (100) not null,
cli_ape varchar (100)not null,
est_id int not null constraint fkcli3 foreign key references ESTADO(est_id),/*situacion del cliente*/
cli_eda int not null,
cli_zipcode int not null,
prehos_id int constraint fkcli4 foreign key references preferencia_hospedaje(prehos_id),
motvia_id int constraint fkcli5 foreign key references motivo_viaje(motvia_id),
frehos_id int constraint fkcli6 foreign key references Frecuencia_hospedaje(frehos_id),
cli_nin int,/*cantidad de niños con los que viaja generalmente*/
cli_fec varchar(50),
cli_num int not null,
);
Código PHP:
$update mssql_query("UPDATE REGISTRO SET REGISTRO.reg_usu ='$mail',REGISTRO.pai_id ='$pais' WHERE REGISTRO.reg_usu ='$id_user'",$con);
$update mssql_query("UPDATE CLIENTE  SET CLIENTE.cli_nom ='$nom',CLIENTE.cli_ape='$ape',CLIENTE.cli_zipcode ='$codigo' where CLIENTE.reg_id ='$id_user'",$con); 
PD: en el sql si me resulta el update pero en php no

Última edición por GatorV; 12/05/2009 a las 20:06
  #4 (permalink)  
Antiguo 12/05/2009, 20:19
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Problema con update

Q tal si solo vas a utilizar una sola tabla entonces porque lo haces del modo tabla.campo?

mas bien puedes hacer algo asi

$update = mssql_query("UPDATE CLIENTE SET cli_nom ='$nom',cli_ape='$ape',cli_zipcode ='$codigo' where reg_id ='$id_user'",$con);

este es el segundo query puedes empezar por averiguar si where reg_id ='$id_user'
tiene algun valor.

Y puedes cambiarle el nombre al segundo query por update2 aunque no creo que tenga nada que ver pero puedes intentar ya que a simple vista no veo errores en el codigo
  #5 (permalink)  
Antiguo 12/05/2009, 20:59
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Problema con update

el $id_user si me trae valor me trae el id del usuario que busco lo del update lo hago tabla.campo solamente para mantener un estandar.

probe lo que me dijiste pero no pasa nada yo = lo encuentro raro por que el update1 (para poder identificarlo) lo hace sin problema alguno pero el update 2 no lo hace y pongo el mismo codigo en sql y funciona sin problemas
  #6 (permalink)  
Antiguo 12/05/2009, 21:12
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Problema con update

ya lo arregle al final era por una simple comparacion que tenia mal echo en el update 2 yo tenia
Código PHP:
WHERE REGISTRO.reg_user ='$id_user'" 
y era
Código PHP:
WHERE REGISTRO.reg_id ='$id_user'" 
estaba haciendo mal la comparacion xD, pero bueno son cosas que pasan agredesco harto su ayuda amigos si quieren pueden cerrar el tema nomas
ya estamos listo y creo que les puede servir a los demas tambien
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:57.