Problemi con interbase con fetch su tabella

  • Creatore Discussione Creatore Discussione carditus
  • Data di inizio Data di inizio

carditus

Nuovo Utente
1 Dic 2008
3
0
0
Salve ragazzi,
sto realizzando un'applicazione in php con database interbase/firebird,
e sono incappato in un errore che da giorni non riesco a risolvere..
mi spiego meglio.
In un parte del programma vorrei visualizzare,
con una semplice query,
tutti i dati di una determinata tabella e per far cio implemento il seguente codice:

//LA QUERY
$query='SELECT * FROM CATEGORIE ORDER BY DESCRIZIONE ASC';

//CONNESSIONE AD INTERBASE
$username = "SYSDBA";
$password = "masterkey";
$host = 'C:\myposCE\EMPORIUMDB.GDB';
$conn = ibase_connect($host, $username, $password,'ISO8859_1',0,2)
or die("<br>Connessione non riuscita: <br> MESSAGGIO DI ERRORE: <BR>"
. ibase_errmsg()."<BR><BR><A HREF='javascript:history.back(-1)' TARGET:'contenuti'><<- Torna_indietro</a> ");
$dati = ibase_query($conn, $query)
or die("<br>Query non Valida: <br> MESSAGGIO DI ERRORE: <BR>"
. ibase_errmsg()."<BR><BR><A HREF='javascript:history.back(-1)' TARGET:'contenuti'><<- Torna_indietro</a> ");

//FETCH SU TABELLA
while ($row = ibase_fetch_object ($dati))
{
echo $row->DESCRIZIONE;
echo "<BR>";
}

....ECC.


...fin qui tutto bene...APPARENTEMENTE!
Infatti ho notato che non preleva il primo record della tabella
quindi i record che va a contare sono uno in meno!
Ho provato a cambiare la clausola sql da ASC in DESC,
ed in questo caso non preleva l'ultimo record dela tabella!
(es. se nella tabella nomi ho come dati 'mario', 'luigi'
mi preleva a seconda della clausola ASC o DESC o solo mario o solo luigi).
Spero di essere stato chiaro.
p.S.= USO COME versione del database Firebird. 2.0
 
Anche se elimino la clausola il risultato non cambia

ciao Eliox,
ho eliminato la clausola ma il risultato non cambia,
ho provato anche a cambiare il modo in cui vado a fare
il ciclo su tabella con questo codice:
while ($row = ibase_fetch_assoc($dati))
{
$descrizione = $row[DESCRIZIONE'];
echo "<BR>";
....ecc.
}

..anche in questo caso il risultato non cambia,
..che tu sappia queste funzioni x interbase sono soggette a bug?
Ciao e Grazie.
 
mai vista questa roba, il tuo codice è corretto; prova così, oltre a DESC o ASC metti anche una clausola LIMIT tipo "0,1000" e vedi che succede.
 

Discussioni simili