Foros del Web » Programando para Internet » PHP »

select a firebird con php

Estas en el tema de select a firebird con php en el foro de PHP en Foros del Web. Estoy haciendo un select a firebird en php, con la clase pdo y cuando voy para leer los registros, resulta que, supongamos que haya 10, ...
  #1 (permalink)  
Antiguo 25/12/2013, 12:48
 
Fecha de Ingreso: julio-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
select a firebird con php

Estoy haciendo un select a firebird en php, con la clase pdo y cuando voy para leer los registros, resulta que, supongamos que haya 10, vienen los 10, pero el primero siempre está en blanco, lo he comprobado con cualquier consulta y hace lo mismo, me tiene desconcertado.

$queri = $co->prepare($sql);
$queri->execute();
$resultado = $queri->fetchAll();
foreach ($resultado as $row) {
... da todos los registros pero el primero siempre en blanco !!
}



¿ alguna idea de que pueda ser ??
  #2 (permalink)  
Antiguo 26/12/2013, 10:37
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: select a firebird con php

que te muestra la tabla en el administrador de la base de datos??
  #3 (permalink)  
Antiguo 26/12/2013, 23:43
 
Fecha de Ingreso: julio-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: select a firebird con php

Esto es un servidor de prueba que me he montado con mi pc, el de producción va bien, el de producción es un winxp yel mio un w7 de 64.
En todas las tablas y todas las consultas me hace lo mismo, hasta el punto que he tenido que montar las consultas de manera que me den un primer registro repetido, de manera que luego puede saltar al segundo y tendo los datos bien.
Este es una de las consultas tal como la tengo montada, lo que hace es leer los datos de la empresa, para colocarlos en una factura que hago al vuelo en pdf:

$sql = "
Select empresa, direccion as dirempre, ciudad as ciudadempre, region as provempre , codpostal as cpempre, nif as nifempre, pais as paisempre, numtel as telempre, fax as faxempre
from infge where idreg = '1'
union all
Select empresa, direccion as dirempre, ciudad as ciudadempre, region as provempre , codpostal as cpempre, nif as nifempre, pais as paisempre, numtel as telempre, fax as faxempre
from infge where idreg = '1'";
try {
$queri = $co->prepare($sql);
$queri->execute();
$empresa = $queri->fetchAll();
$queri = NULL;
unset($empresa[0]); //-registro no válido, debido a que se pierde el primer registro, no se porque.
$empresa = array_shift($empresa); //-saca el primer registro válido y lo reasigna
} catch (PDOException $e) {
$ok = false;
$queri = NULL;
$inf = $e->getMessage();
}

Se puede ver que con la clausula union, lo que hago es duplicar el dato que le pido a la base de datos, luego después de recogidos los 2 registros que me da, porque me devuelve 2 registros, pero el primero siempre contiene datos en blanco, lo que hago es eliminar el primero y luego con el array_shift pongo los datos del segundo en el array que luego voy a utilizar para la factura.
Y así en todas las consultas aunque tengan que devolver 1 registro ó más de uno, siempre tengo que duplicar el primero.

Menos mal que como he dicho antes, en el pc de produccion si que va bien !!

  #4 (permalink)  
Antiguo 27/12/2013, 06:56
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: select a firebird con php

podrias ver el codigo de insert pues puede que este insertando algo mal.
tambien podrias filtrar las consultas para que no saque las filas vacias (esto es solucion parche).

Etiquetas: firebird, registro, select, sql
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:46.