Navigazione

  • CATEGORIES
  • Discussioni
  • Non letti
  • Recenti
  • Hashtags
  • Popolare
  • Utenti
  • Registrati
  • Accedi
Privacy - Termini e condizioni
© 2020 Search On Media Group S.r.l.
  • Registrati
  • Accedi
  • CATEGORIES
  • Discussioni
  • Non letti
  • Recenti
  • Hashtags
  • Popolare
  • Utenti
  • Stream
  • Interest
  • Categories
  1. Home
  2. Categorie
  3. Coding e Sistemistica
  4. Coding
  5. Funzione Php
Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
  • B
    bismark2005 User • 26 lug 2012, 16:40 ultima modifica di

    Funzione Php

    Salve ragazzi volevo un chiarimento.

    public static function getEntityData($entityID) {
        $sql = "SELECT * FROM \"entity\" WHERE \"entityid\" = $entityID";
        $res = pg_query(DataManager::_getConnection(),$sql);
       if($res && pg_num_rows($res)) {
          return pg_fetch_assoc($res);
        }
          die("Failed getting entity $entityID");
        }
        return pg_fetch_assoc($res);
      }
    

    Nell'if, sia $res che pg_num_rows($res) sono entrambi true allora restituisce un array associativo pg_fetch_assoc($res).

    $res è una risorsa. Quindi se la risorsa punta a dei risultati restituisce true altrimenti false.

    Non mi è chiaro mentre pg_num_rows($res). Dovrebbe restituire il numero delle righe oppure -1 se non c'è nessun risultato. Infatti da php.net leggo:

    pg_num_rows: The number of rows in the result. On error, -1 is returned.

    Quindi da pg_num_rows dovrei avere 1,2,3 ecc numeri di righe oppure -1 in caso di nessun numero di righe. Ma questo significa che Php converte in true gli eventuali numeri di riga ed in false il -1?

    0 Miglior Risposta Ringrazia Cita Rispondi

      1 Risposta Ultima Risposta
      Caricamento altri post
      Rispondi
      • Topic risposta
      Effettua l'accesso per rispondere
      • Da Vecchi a Nuovi
      • Da Nuovi a Vecchi
      • Più Voti
       

    • T
      thedarkita ModSenior • 26 lug 2012, 18:12 ultima modifica di

      Ciao bismark2005,
      lo 0 viene considerato come FALSE, mentre gli altri numeri(Anche i negativi) sono considerati come TRUE.
      -1 nel tuo codice è il caso di errore, nel caso in cui le righe siano pari a 0, verrà restituito 0(Che è quindi considerato come FALSE).

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • B
        bismark2005 User • 26 lug 2012, 18:35 ultima modifica di

        Grazie thedarkita sei gentilissimo. Da quanto ho capito però in caso di errore -1 sarà considerato true. Quindi è come se il codice non contemplasse il caso dell'errore

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          thedarkita ModSenior • 26 lug 2012, 19:10 ultima modifica di

          In realtà non dovrebbero esserci casi in cui pg_num_rows($res) restituisca -1 e $res sia diverso da false. Per cui direi che vada bene cosi com'è.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          Caricamento altri post
          Rispondi
          • Topic risposta
          Effettua l'accesso per rispondere
          • Da Vecchi a Nuovi
          • Da Nuovi a Vecchi
          • Più Voti