Foros del Web » Programando para Internet » PHP »

Ahi va otra duda de PHP+PEAR a ver quien se le mide

Estas en el tema de Ahi va otra duda de PHP+PEAR a ver quien se le mide en el foro de PHP en Foros del Web. Hola a todos, Tengo el siguiente script: <?php include 'DB.php'; $dsn = ifx://informix@myhost/mydb"; $db = DB::connect($dsn); if(DB::isError($db)) { die($db->getMessage()); $db->disconnect(); } $sql = "SELECT nombre ...
  #1 (permalink)  
Antiguo 01/07/2004, 17:44
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Exclamación Ahi va otra duda de PHP+PEAR a ver quien se le mide

Hola a todos,

Tengo el siguiente script:

<?php

include 'DB.php';
$dsn = ifx://informix@myhost/mydb";
$db = DB::connect($dsn);
if(DB::isError($db)) {
die($db->getMessage());
$db->disconnect();
}
$sql = "SELECT nombre AS nom_iden FORMM iden";
$result = $db->query($sql);
if(DB::isError($data)) {
$db->disconnect();
die($data->getMessage());
}
while($result->fetchInto($row)) {
$nom_iden = $row[0];
}

?>

Observese que el la instruccion $sql hay un error (FORMM) que DB::isError($data) deberia reportar.

El caso es que el navegado me reporta el siguiente error:

Fatal error: Call to undefined function: fetchinto() in /var/www/html/informaw/configuracion/prueba.php on line 16

Es decir, asumo que no ejecuta las instrcciones que me deberia reportar el getMessage() y parar ahi la ejecucion del programa. Por que???? He ahi mi dilema...

Agradezco su valiosa colaboracion
  #2 (permalink)  
Antiguo 01/07/2004, 18:02
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Y quién es $data???? la variable que estás utilizando se llama $result.
Código PHP:
$result $db->query($sql);
if(
DB::isError($result)) {
$db->disconnect();
die(
$result->getMessage());

Saludos
  #3 (permalink)  
Antiguo 01/07/2004, 18:36
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Mil gracias jpinedo. Esa era. Ya no veo ni por la familia!!!
  #4 (permalink)  
Antiguo 01/07/2004, 18:49
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Cito la pregunta que me hiciste por MP:
Cita:
Iniciado por augusto_jaramil
En PEAR existe tambien la funcion numRows()

Luego de hacer un query $result = ($db->query($sql)); yo he tratado de utilizar las siguientes instrucciones:

$nrows = ($db->numRows($sql));
echo $nrows;

La respuesta que obtengo es "Object". Como obtengo el escalar? o entero?
Ten en cuenta que $result es un objeto... y el método numRows() que quieres es el de ése objeto ($result)... la sintaxis correcta sería:
Código PHP:
$result $db->query($sql);
$nrows $result->numRows();
echo 
$nrows
Saludos

Última edición por jpinedo; 01/07/2004 a las 18:51 Razón: decía $nrows = ($result->numRows($sql)); debería ir sin $sql
  #5 (permalink)  
Antiguo 02/07/2004, 06:41
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Buenos dias jpinedo,

Igual sigo obteniendo "Object".
  #6 (permalink)  
Antiguo 03/07/2004, 18:20
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Lo más probable es que te esté dando un error... y recuerda que los errores son objetos. y no le puedes hacer directamente un "echo". Deberías hacer lo siguiente:
Código PHP:
$result $db->query($sql); 
$nrows $result->numRows();
if(
DB::isError($nRows)) {  
die(
$nRows->getMessage()); 
}else{
echo 
$nrows

Pero lo más probable es que el error sea en el query... así que mejor verifica que el resultSet ($result) no sea error y con eso bastará.

Saludos
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 20:10.