Foros del Web » Programando para Internet » PHP »

Codigo sql no actualiza la tabla mysql

Estas en el tema de Codigo sql no actualiza la tabla mysql en el foro de PHP en Foros del Web. No entiendo porque este código no me actualiza la tabla en mysql, lo único que pretendo hacer es modificar el valor de un campo en ...
  #1 (permalink)  
Antiguo 26/01/2005, 07:39
 
Fecha de Ingreso: agosto-2004
Mensajes: 118
Antigüedad: 19 años, 8 meses
Puntos: 1
Codigo sql no actualiza la tabla mysql

No entiendo porque este código no me actualiza la tabla en mysql, lo único que pretendo hacer es modificar el valor de un campo en un registro que ya existe.

Mis conocimientos de sql son básicos, pero creo que está correcto.
Código PHP:
$ActTablaSys "UPDATE tbl_sistema SET UltiPedido = $Num_Pedido
WHERE Id_Key = \'1\'"

  #2 (permalink)  
Antiguo 26/01/2005, 07:43
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El problema son los \, no son necesarios. Puedes poner ' directamente en cadenas delimitadas por ".

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 26/01/2005, 07:45
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola que tal trata de ponerlo de esta manera:
Código PHP:
$ActTablaSys "UPDATE tbl_sistema SET UltiPedido = '$Num_Pedido' 
WHERE Id_Key ='1'"

Suerte y Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #4 (permalink)  
Antiguo 26/01/2005, 07:57
 
Fecha de Ingreso: agosto-2004
Mensajes: 118
Antigüedad: 19 años, 8 meses
Puntos: 1
Gracias a todos por responder.

Pero no va.

Le he quitado las \, y he encerrado la variable con ', pero sigue sin ir y no lo entiendo, la consulta en el phpmyadmin funciona a la perfección, incluso le he dado a generar el código php y lo he copiado en mi scrip y más de lo mismo, sigue sin ir.

¿Alguna sugerencia?.
  #5 (permalink)  
Antiguo 26/01/2005, 08:00
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 5 meses
Puntos: 0
Podrias poner el codigo para ver mejor en donde tienes el problema.

Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #6 (permalink)  
Antiguo 27/01/2005, 06:35
 
Fecha de Ingreso: agosto-2004
Mensajes: 118
Antigüedad: 19 años, 8 meses
Puntos: 1
El codigo es el siguiente:

Código PHP:

<?php
session_name
();
session_start("User");

if (!(
session_is_registered("User")))
  {
  
session_unset();
  
session_destroy();
  
//Redirecciona a la página de error indicando el error correspondiente
  
$url="Location:./error.php?topic=".$topic."&Id=".$Id."&
  Cn="
.$NumArti."&Error=6";
  
header($url);
  exit;    
  }

//Conecta con la base de datos
include("mysql_connect.php");

if(!isset(
$Num_Pedido))        
 {
 
//Selecciona el numero de pedido desde la tabla de sistema
 
$Pedido "SELECT * FROM tbl_sistema WHERE Id_key = 1"
 
$QueryPedido mysql_query($Pedido);
 
$rowPedido mysql_fetch_array($QueryPedido);

 
//Registrar las variables para el pedido en la sesion actual
 
$HTTP_SESSION_VARS["FechaPedido"] = date(Y."-".m."-".d);
 
$HTTP_SESSION_VARS["HoraPedido"] = date(H.":".i.":".s);
 
$HTTP_SESSION_VARS["Num_Pedido"] = $rowPedido["UltiPedido"];
 
$HTTP_SESSION_VARS["EstadoPedido"] = "Abierto";
 
$HTTP_SESSION_VARS["Finalizado"] = 0;
 
$HTTP_SESSION_VARS["Cancelado"] = 0;
 
$HTTP_SESSION_VARS["Modificable"] = 0;

 
//Actualiza la tabla de systema, campo UltiPedido para dejar
 //disponible un nuevo número de pedido
 //incrementa en 1 el número de pedido de la tabla de systema
 
$Num_Pedido +=1;
 
$ActTablaSys "UPDATE tbl_sistema SET UltiPedido = $Num_Pedido
 WHERE Id_Key = 1"
 
or die("Error actualizando la tabla de sistema");

 }

?>
El caso es que no reporta ningún error.

Última edición por rayder; 27/01/2005 a las 06:41
  #7 (permalink)  
Antiguo 27/01/2005, 09:03
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola de nuevo aqui tienes el codigo modificado pruebalo y nos comentas:

Código PHP:
<?php 
session_name
(); 
session_start("User"); 

if (!(
session_is_registered("User"))) 
  { 
  
session_unset(); 
  
session_destroy(); 
  
//Redirecciona a la página de error indicando el error correspondiente 
  
$url="Location:./error.php?topic=".$topic."&Id=".$Id."& 
  Cn="
.$NumArti."&Error=6"
  
header($url); 
  exit;     
  } 

//Conecta con la base de datos 
include("mysql_connect.php"); 

if(!isset(
$Num_Pedido))         

//Selecciona el numero de pedido desde la tabla de sistema 
$Pedido "SELECT * FROM tbl_sistema WHERE Id_key = 1"
$QueryPedido mysql_query($Pedido); 
$rowPedido mysql_fetch_array($QueryPedido); 

//Registrar las variables para el pedido en la sesion actual 
$HTTP_SESSION_VARS["FechaPedido"] = date(Y."-".m."-".d); 
$HTTP_SESSION_VARS["HoraPedido"] = date(H.":".i.":".s); 
$HTTP_SESSION_VARS["Num_Pedido"] = $rowPedido["UltiPedido"]; 
$HTTP_SESSION_VARS["EstadoPedido"] = "Abierto"
$HTTP_SESSION_VARS["Finalizado"] = 0
$HTTP_SESSION_VARS["Cancelado"] = 0
$HTTP_SESSION_VARS["Modificable"] = 0

//Actualiza la tabla de systema, campo UltiPedido para dejar 
//disponible un nuevo número de pedido 
//incrementa en 1 el número de pedido de la tabla de systema 
$Num_Pedido +=1

$ActTablaSys "UPDATE tbl_sistema SET UltiPedido = '$Num_Pedido' 
WHERE Id_Key = 1" 
//no tenias puesto la ejecucion del query para actualizar.
mysql_query($ActTablaSys) or die("Error actualizando la tabla de sistema"); 


?>
Suerte y Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #8 (permalink)  
Antiguo 27/01/2005, 11:12
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 20 años, 9 meses
Puntos: 0
Tambien MySQL permite incrementar el valor de una columna, directamente, sin la necesidad de crear una variable auxiliar.
Código PHP:
$ActTablaSys "UPDATE tbl_sistema SET UltiPedido = UltiPedido+1";
if(
mysql_query($ActTablaSys))
   echo 
"Tabla Actualizada";
else 
   echo 
"Error actualizando la tabla de sistema. Error: ".mysql_error(); 
De esta forma, si no se actualiza, te va a devolver en pantalla, la causa del error.

Saludos
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
  #9 (permalink)  
Antiguo 28/01/2005, 13:58
 
Fecha de Ingreso: agosto-2004
Mensajes: 118
Antigüedad: 19 años, 8 meses
Puntos: 1
Ya funciona.

Muchisimas gracias a todos.
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 06:17.