Back to top

Autore Topic: odbc_num_rows non funziona  (Letto 743 volte)

Offline greghph

  • Esploratore
  • **
  • Post: 54
    • Mostra profilo
odbc_num_rows non funziona
« il: 21 Giu 2017, 12:35:45 »
ciao
creando un modulo personalizzato in joomla 3 per una connessione ad un db esterno mi sono accorto che la funzione odbc_num_rows non riporta alcun risultato (mi serve per l'impaginazione).
ho php 5.5.9
la connessione funziona, se espongo tutti i record (quindi eliminando odbc_num_rows) funziona correttamente.
non capisco dove sbaglio la parte di codice
    $dsn = 'iSeries';
    $connessione = odbc_connect("iSeries", "utente", "password");
$interrogazione ="SELECT Articolo, Descrizione, Giacenza FROM Magazzino  WHERE Giacenza<>0 ORDER BY Articolo";
     if ($risultato = odbc_exec($connessione, $interrogazione)) {
        $nr = odbc_num_rows($risultato);
           if($nr !=0){
              for($x = 0; $x < $nr; $x++){
                 while (odbc_fetch_row($risultato)) {
.................bla bla bla bla


Premesso che se testo in locale il file php funziona correttamente
odbc driver ("iseries Access ODBC Driver")
grazie


Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:odbc_num_rows non funziona
« Risposta #1 il: 21 Giu 2017, 14:05:44 »
In remoto hai anche i driver odbc, e se hai in remoto un server linux, odbc ci gira?

Offline greghph

  • Esploratore
  • **
  • Post: 54
    • Mostra profilo
Re:odbc_num_rows non funziona
« Risposta #2 il: 21 Giu 2017, 14:25:31 »
si ci gira tranquillamente
mi sa che è solo un problema di cursor_type
da php manual

resource odbc_connect ( string dsn, string user, string password [, int cursor_type] )
Returns an ODBC connection id or 0 (FALSE) on error.
With some ODBC drivers, executing a complex stored procedure may fail with an error similar to: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it".  Using SQL_CUR_USE_ODBC may avoid that error. Also, some drivers don't support the optional row_number parameter in odbc_fetch_row(). SQL_CUR_USE_ODBC might help in that case, too.

ho provato ad impostare i valori (es 2) ma ritorna sempre un false

 



Web Design Bolzano Kreatif