+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

[PHP - FIREBIRD] Contare righe resultset

  1. #1
    L'avatar di Speed16
    Speed16 non è in linea Scolaretto
    Ciao,
    a causa di esigenze personali sono dovuto passare definitivamente da MySQL a FIREBIRD. Ora, avrei la necessità di contare le righe di un risultato eseguito tramite:

    $res = ibase_query("SELECT * FROM TABELLA_TEST");
    
    senza dover fare prima:

    $res = ibase_query("SELECT COUNT(*) FROM TABELLA_TEST");
    
    e poi dover eseguire la prima query.

    In pratica mi servirebbe la funzione equivalente di mysql_num_rows().

    Non so se sia già implementata. Nel caso contrario creerò una funzione simile.

    Grazie
    ℹ️ Leggi di più su Speed16 ...

  2. Ciao.

    ibase_num_rows non è implementata perché Interbase/Firebird non restituiscono il numero di righe, come descritto qui:

    https://bugs.php.net/bug.php?id=9218&edit=1
    ℹ️ Leggi di più su cyberlaundry ...

  3. #3
    L'avatar di Speed16
    Speed16 non è in linea Scolaretto
    Dunque l'unica soluzione è quella di fare un COUNT. Ok, così ho sviato ogni dubbio. Grazie mille
    ℹ️ Leggi di più su Speed16 ...

  4. #4
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    Aggiungo un dettaglio.
    Se non crei una transazione, non puoi (potresti) fare prima count e poi qualcosa di diverso, in quanto
    tra le due query il conteggio dei dati potrebbe variare (esempio INSERT e DELETE da altri client).
    Potresti contare direttamente dal risultato, con qualcosa del genere
    $quanterighe = 0;
    while ($row[$quanterighe] = ibase_fetch_assoc($result)) $quanterighe++;
    
    Ovviamente, considerata la relativa lentezza di PHP, questo va bene se i risultati tornati sono pochi, nel caso di dataset molto grandi non è proprio il massimo della vita.

    Aggiungo inoltre, ma è una vita che non uso più firebird, che se non ricordo male il livello delle transazioni è prefissato in una costante IBASE_DEFAULT che non si può cambiare a runtime.
    Però sono davvero vaghi ricordi...
    Ultima modifica di +m+; 03-04-2014 09:32 

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Contare righe
    Da firstcode nel forum Microsoft Excel
    Risposte: 19
    Ultimo Post: 02-02-2017, 14:54
  2. [Firebird - Ansi92] Contare il numero massimo di ricorrenze
    Da cyberlaundry nel forum Altri Database Server
    Risposte: 4
    Ultimo Post: 16-07-2009, 11:53
  3. Contare le righe
    Da k17 nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 30-09-2007, 13:04
  4. Contare righe in una casella di access
    Da ilpata nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 03-09-2006, 13:47
  5. contare il numero di righe di una textbox
    Da Smith nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 07-04-2006, 23:30