Foros del Web » Programando para Internet » PHP »

PHP OO problema al tomar valor de base de datos

Estas en el tema de problema al tomar valor de base de datos en el foro de PHP en Foros del Web. hola amigos, soy nuevisimo en php y tengo un problema, en una pagina intento obtener el valor de un campo en la base de datos ...
  #1 (permalink)  
Antiguo 29/06/2014, 20:04
 
Fecha de Ingreso: junio-2014
Mensajes: 2
Antigüedad: 10 años, 5 meses
Puntos: 0
Información problema al tomar valor de base de datos

hola amigos, soy nuevisimo en php y tengo un problema, en una pagina intento obtener el valor de un campo en la base de datos pero tengo un error.

no me toma el valor correcto (yo ejecuto la consulta desde el SQL directamente y ella me devuelve el valor bien)

pero cuando ejecuto el sql normalmente me devuelve siempre 1.

Donde el estoy errando?

aca mi code:

Código PHP:
Ver original
  1. case '1':
  2. $obt_gr_res = "Select grand_resets From Character Where mu_id=?";
  3. $exc_gr_res_Con = $core_db->Execute($obt_gr_res,$id);
  4. $exc_gr_res_Con = ($exc_gr_res_Con*3751);
  5. $new_bpoints = ($reset_points*($select_req->fields[2]+1)+$exc_gr_res_Con); break;
  6.                     }

Yo quiero que a la variable "exc_gr_res_con" al tomar el valor (que con ese ID es 2) me lo multiplique por 3751 pero al hacerlo me devuelve 3751, o sea me lo toma como 1.

Por que es?

gracias.
  #2 (permalink)  
Antiguo 29/06/2014, 20:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: problema al tomar valor de base de datos

En la consulta estás extrayendo solo un campo, grand_resets:
$obt_gr_res = "Select grand_resets From Character Where mu_id=?";

Luego, quieres acceder, supongo, a una tercer columna, pues los índices comienzan en cero:
$select_req->fields[2]

Es lógico que al tener esta operación:
$reset_points*($select_req->fields[2]+1)
$reset_points = 3751
$select_req->fields[2] = No definido, se reemplaza con cero al usarlo en operaciones matemáticas


La operación queda así: 3751 * (0 + 1)
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/06/2014, 21:05
 
Fecha de Ingreso: junio-2014
Mensajes: 2
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: problema al tomar valor de base de datos

Perdon amigo, hay algo que dije mal, es culpa mia, no devuelve 3751, devuelve 4051

que es 3751 + 300 (el valor de la variable $reset_points)

Ahora soy mas claro?

tendria que darme 3751*2 + 300 no en ese orden pero tendria que darme asi para que este bien ya que el valor "Grand_Reset" yo lo veo en la base de datos y es 2.

siento mi error...

Saludos.
  #4 (permalink)  
Antiguo 29/06/2014, 22:26
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: problema al tomar valor de base de datos

El error sigue siendo el mismo, porque la consulta genera sólo una columna. Sin ver tu clase para manejo de base de datos es difícil sugerir algo, pero incluye esta línea antes de actualizar los puntos, justo arriba de $new_bpoints = ...

Código PHP:
Ver original
  1. var_dump($select_req->fields);

Observa lo que obtienes en pantalla y, si aún te queda duda de porqué el error, copia y pégalo aquí para explicarte.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: select, sql, tomar, valor, variable
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 23:29.