Foros del Web » Programando para Internet » PHP »

Se me escapa algo en este codigo...

Estas en el tema de Se me escapa algo en este codigo... en el foro de PHP en Foros del Web. hola, ver el siguiente codigo: Código PHP: <? include( "config.php" ); $ins  =  "UPDATE usuarios SET usuario=usuario+1 WHERE id=$_SESSION('usuario_super')"  or die ( mysql_error ()); mysql_query ( $sql ); ?> Quiero sumar valor_inical_campo_usuario+1, ...
  #1 (permalink)  
Antiguo 06/01/2004, 14:07
 
Fecha de Ingreso: febrero-2003
Mensajes: 753
Antigüedad: 14 años, 10 meses
Puntos: 2
Se me escapa algo en este codigo...

hola, ver el siguiente codigo:

Código PHP:
<?
include("config.php");
$ins "UPDATE usuarios SET usuario=usuario+1 WHERE id=$_SESSION('usuario_super')" or die (mysql_error());
mysql_query($sql);
?>
Quiero sumar valor_inical_campo_usuario+1, lo intentado hacer de esa forma, no me muestra ningun error, pero tampoco me incrementa uno al usuario correspondiente.

Tendria que sacar como variable el valor de "usuario" y despues sumarlo $valor+1 pero no se exactamente como hacerlo con las sessiones,

un saludo, espero su ayuda
  #2 (permalink)  
Antiguo 06/01/2004, 14:51
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 15 años
Puntos: 0
si pues es con [] no con () en $_SESSION['nombre'], ademas de que el mysql_error() va cuando ejecutas mysql_query() xD

asi seria:

Código PHP:

include("config.php");
$ins "UPDATE usuarios SET usuario=usuario+1 WHERE id='".$_SESSION['usuario_super']."'");
mysql_query($sql) or die(mysql_error()); 
__________________

la vida es bella cuando no es culera

Última edición por sdf23; 06/01/2004 a las 14:54
  #3 (permalink)  
Antiguo 06/01/2004, 14:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El "or die()" va en sentencias que arrojen un boolean (true/false) como por ejemplo mysql_query() .. pero no en una asignación de una variable ..

Y ... $_SESSION es un array (arreglo) así que vá el indice entre [] no entre ().

Código PHP:
$ins "UPDATE usuarios SET usuario=usuario+1 WHERE id='".$_SESSION['usuario_super']."'";
mysql_query($sql) or die (mysql_error()); 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 06/01/2004 a las 14:54
  #4 (permalink)  
Antiguo 06/01/2004, 14:54
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 15 años
Puntos: 0
jeje creo que respondimos al mismo tiempo
__________________

la vida es bella cuando no es culera
  #5 (permalink)  
Antiguo 06/01/2004, 15:27
 
Fecha de Ingreso: febrero-2003
Mensajes: 753
Antigüedad: 14 años, 10 meses
Puntos: 2
Gracias por las respuestas, pero ahora me sale otro error, pero este viene de mysql creo:

Query was empty

Eso nada mas, la pregunta esta vacia, no entiendo. Creo que deberia de funcionar no?

un saludo
  #6 (permalink)  
Antiguo 06/01/2004, 15:37
 
Fecha de Ingreso: febrero-2003
Mensajes: 753
Antigüedad: 14 años, 10 meses
Puntos: 2
De vuestros codigos llegue a esta conclusion:

Código PHP:
include("config.php");
$ins "UPDATE usuarios SET usuario=usuario+1 WHERE id='{$_SESSION['usuario_super']}'";
mysql_query($sql) or die(mysql_error()); 
Pero me sale este error: Query was empty

y con tu codigo Gerald: me sale este error: No Database Selected

Bueno, a ver si me podeis ayudar
  #7 (permalink)  
Antiguo 06/01/2004, 16:22
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Código PHP:
include("config.php");

$ins "UPDATE usuarios SET usuario=usuario+1 WHERE id='{$_SESSION['usuario_super']}'";

mysql_query($sql) or die(mysql_error()); 
Primero que nada, estas asignanado el query a una variable de nombre $ins y luego en la funcion mysql_query usas la variable $sql..
Es por eso que el interprete de php te manda un error de consulta vacia.

A hora si probaste el tramo de codigo que te dejo Gerald. Asi tal cual, pues es natural que te marque que no especificaste la bd a la que te quieres conectar. necesitas antes hacerlo mediante el uso de mysql_select_db

Te aconsejo que leas los protoripos de las funciones de php para mysql. http://www.php.net/manual/en/ref.mysql.php
  #8 (permalink)  
Antiguo 06/01/2004, 16:48
 
Fecha de Ingreso: febrero-2003
Mensajes: 753
Antigüedad: 14 años, 10 meses
Puntos: 2
asi va el proceso:

config.php

Código PHP:
<?
$dbhost 
"localhost" ;
$dbuser "USER" ;
$dbpass "PASS" ;
$db "marrugino" ;
$conectar mysql_connect($dbhost,$dbuser,$dbpass) ; mysql_select_db($sql,$conectar) ;
?>
como ves mysql_select_db esta en config.php

envio.php

Código PHP:
<? 
include("config.php");
$ins "UPDATE usuarios SET usuario=usuario+1 WHERE id='{$_SESSION['usuario_super']}'";
mysql_query($sql) or die(mysql_error());
?>
Y sigo con el mismo problema: Query was empty

un saludo
  #9 (permalink)  
Antiguo 06/01/2004, 17:34
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Código PHP:
mysql_select_db($sql,$conectar
tu tienes eso en tu archivo config.php el detalle es que estas usando en esa funcion una variable con nombre $sql y tu estas declarando el nombre de tu base de datos en la variable $db.

A hora en:
Código PHP:
mysql_query($sql) or die(mysql_error()); 
Estas haciendo uso de la variable $sql y tu consulta la asignaste a la variable $ins
Ya tienes todo lo necesario a hora corrige tu codigo.
  #10 (permalink)  
Antiguo 06/01/2004, 17:52
 
Fecha de Ingreso: febrero-2003
Mensajes: 753
Antigüedad: 14 años, 10 meses
Puntos: 2
Muchas gracias, ahora funciona perfectamente. Ahora me gustaria hacer lo mismo, pero en vez de sumar, restar.

general por defecto tiene el valor 2, utilizando el mismo comando pero con: general=geranl-1 me gustaria que cuando llegase general a 0 mostrase un mensaje de error "lo siento se acabaron los credito" y no ejecute el comando.

Un Saludo, a ver si me podeis ayudar.
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 12:35.