Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Metodo Php

  1. #1

    Metodo Php

    Salve, ho il seguente metodo PHP:

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

    Non ho ben capito l'istruzione if. Cosa fa esattamente?

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Se non hai capito cosa fa if, difficilmente avrai capito cosa fa il resto del codice.

    Quel pezzo di codice cerca nel database il valore dentro la variabile entityID
    Se lo trova restituisce un array con i dati, se non lo trova esce restituendo il messaggio "Failed getting entity Valore"

  3. #3
    In realtà non è che non ho capito l'if.
    La variabile $res memorizza i risultati della query giusto? Quando la metto nell'if quanto vale?

  4. #4
    Originariamente inviato da bismark2005
    In realtà non è che non ho capito l'if.
    La variabile $res memorizza i risultati della query giusto? Quando la metto nell'if quanto vale?
    vale quello che restituisce questa funzione

    http://it2.php.net/manual/en/function.pg-query.php

    oppure FALSE se non è andata a buon fine l'operazione
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Originariamente inviato da Santino83_02
    vale quello che restituisce questa funzione

    http://it2.php.net/manual/en/function.pg-query.php

    oppure FALSE se non è andata a buon fine l'operazione
    E pg_num_rows?

  6. #6
    Originariamente inviato da bismark2005
    E pg_num_rows?
    Bastava un click: http://it2.php.net/manual/en/function.pg-num-rows.php
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    pg_num_row restituisce il numero delle righe. Quindi non restituisce un valore boolenao?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    Originariamente inviato da bismark2005
    pg_num_row restituisce il numero delle righe. Quindi non restituisce un valore boolenao?
    Se la query fallisce, $res='FALSE' dunque entra nell'if e visualizza il messaggio di errore. Se la query non fallisce, controlla il numero delle righe ottenute dal risultato. Se sono 0, entra comunque nell'if e visualizza il messaggio d'errore.
    pg_num_rows restituisce 0, che in un AND e nell'if viene visto come un 'FALSE' (e viceversa).

    Ma queste sono conoscenze basilari, il funzionamento dell'if a seconda dei valori e degli operatori logici sono le basi del mondo.

  9. #9
    Originariamente inviato da bismark2005
    pg_num_row restituisce il numero delle righe. Quindi non restituisce un valore boolenao?
    Già non cercate le cose sui manuali, ma neanche li leggete quando ve li linkano?!?!

    Da manuale:

    codice:
    Return Values
    
    The number of rows in the result. On error, -1 is returned.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Originariamente inviato da Kej
    Se la query fallisce, $res='FALSE' dunque entra nell'if e visualizza il messaggio di errore. Se la query non fallisce, controlla il numero delle righe ottenute dal risultato. Se sono 0, entra comunque nell'if e visualizza il messaggio d'errore.
    pg_num_rows restituisce 0, che in un AND e nell'if viene visto come un 'FALSE' (e viceversa).

    Ma queste sono conoscenze basilari, il funzionamento dell'if a seconda dei valori e degli operatori logici sono le basi del mondo.
    Il problema non è il funzionamento dell'if. Non capivo come mai quei valori restituivano un valore booleano.

    Poi scrivi che pg_num_rows restituisce 0.

    Ma nel manuale linkato da satifal dice:

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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.