Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Undefined variable Y could not be converted to string

Estas en el tema de Undefined variable Y could not be converted to string en el foro de PHP en Foros del Web. Tengo este código: ESTE ES EL DAO: Se toman dos campos se suman y se asignan al VO para luego ser visualizados. ========== Código PHP: ...
  #1 (permalink)  
Antiguo 15/05/2015, 09:25
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años, 7 meses
Puntos: 7
Pregunta Undefined variable Y could not be converted to string

Tengo este código:

ESTE ES EL DAO: Se toman dos campos se suman y se asignan al VO para luego ser visualizados.
==========

Código PHP:
function totales($codstud){
$query "SELECT SUM(cargo) cargo, SUM(abono) abono
                FROM  sc_ctacte 
                WHERE cod_stud ="
.$codstud;
$BD = new ConexionDB();
$recordSet $BD->dbLink->Execute($query);
if (!
$recordSet){
   
Debug::println("No se pudo ejecutar la consulta TOTALES : " $query);
   return 
false;
}
$totstud = new TotalesStudVO($fila['cargo'], $fila['abono']);  <=== LINEA 46
return $totstud;

Y ESTE ES EL VO:
==========
Código PHP:
class TotalesStudVO {

    public 
$totcargo;
    public 
$totabono;
    
    public function 
__construct($totc$tota){
       
$this->totcargo $totc;
       
$this->totabono $tota;
    }

    function 
__destruct(){
    } 
Y mi plantilla de salida trato de visualizar con estas líneas
Código PHP:
<td>{$TotalesStudVO->cargo}</td>
<
td>{$TotalesStudVO->abono}</td
Pero me sale que :
Código HTML:
Notice: Undefined variable: fila in DAO.class.php on line 46
Código HTML:
Catchable fatal error: Object of class TotalesStudVO could not be converted to string in CtacteDAO.class.php on line 48
La tabla tiene la siguiente estructura:
Código PHP:
CREATE TABLE IF NOT EXISTS `sc_ctacte` (
  `
id_ctacteint(11NOT NULL,
  `
cod_studint(4NOT NULL,
  `
fec_mov_ctadate NOT NULL,
  `
referenciavarchar(45NOT NULL,
  `
id_transaccionint(2NOT NULL,
  `
doc_sustentovarchar(30) DEFAULT NULL,
  `
id_pagoint(1) DEFAULT NULL,
  `
cant_ejemplaresint(4) DEFAULT NULL,
  `
cargodecimal(8,2) DEFAULT NULL,
  `
abonodecimal(8,2) DEFAULT NULL
El VO solo toma la sumatoria de los dos cambios indicados CARGO y ABONO.

Alguna idea???
__________________
Todos somos iguales. NO! a la violencia de género.
  #2 (permalink)  
Antiguo 15/05/2015, 09:41
Avatar de Nopal_Studio  
Fecha de Ingreso: julio-2012
Ubicación: DF
Mensajes: 42
Antigüedad: 12 años, 4 meses
Puntos: 10
Respuesta: Undefined variable Y could not be converted to string

La clase class TotalesStudVO la declaras antes o despues de la función: totales....
  #3 (permalink)  
Antiguo 15/05/2015, 09:52
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Undefined variable Y could not be converted to string

El mensaje es por que no existe dentro del alcance de la función totales, las variables $fila['cargo'] y $fila['abono']
Código PHP:
Ver original
  1. $totstud = new TotalesStudVO($fila['cargo'], $fila['abono']);  <=== LINEA 46
  2. return $totstud;
Para resolverlo, si son externas a la función debes de pasarlas como parametros, si no, realiza la asignación correspondiente para que exista $fila.
En la vista tienes lo siguiente:
Código HTML:
Ver original
  1. <td>{$TotalesStudVO->cargo}</td>
  2. <td>{$TotalesStudVO->abono}</td>
Pero la propiedades dentro de la clase tiene otro nombre ($totcargo y $totabono)
Código HTML:
Ver original
  1. <td>{$TotalesStudVO->totcargo}</td>
  2. <td>{$TotalesStudVO->totabono}</td>
Por ultimo este error:
Cita:
Catchable fatal error: Object of class TotalesStudVO could not be converted to string in CtacteDAO.class.php on line 48
Esta en el archivo CtacteDAO.class.php que no publicaste. Pero es muy probable que estes intentando imprimir el objeto y no tienes implementado el método __toString en TotalesStudVO
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Última edición por hhs; 15/05/2015 a las 10:23
  #4 (permalink)  
Antiguo 15/06/2015, 17:07
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años, 7 meses
Puntos: 7
Respuesta: Undefined variable Y could not be converted to string

Les cuento que hice tantas modificaciones que ya no encuentro lo que inicialmente puse en el post.

Creo que cerraré el tema para revisar y volver nuevamente.
Gracias.
__________________
Todos somos iguales. NO! a la violencia de género.

Etiquetas: select, string, tabla, undefined, 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 22:01.