Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    PDO e Connessione a DB funzioni aggregazione

    Salve ho un problema con la connessione con DB tramite php, nello specifico usando i driver PDO (php_pdo_pgsql.dll).
    Quando uso una funzione di aggregazione (tipo count(*) , max(attrib1) ecc..), che in teoria dovrebbe restituire un numero e non una relazione, è lo stesso necessario usare il costrutto:
    Codice PHP:
    .....
    $sql "mia query";
        foreach (
    $dbh->query($sql) as $row)
            {
            print 
    $row['attrib1'] .' - '$row['attrib2'] .' - '$row['attri3'] . '
    '
    ;
            }
    .... 
    che è predisposto per una relazione oppure dato che viene restituito una valore c'è un altro modo?

    altra domanda: se ad esempio ho una query tipo questa:
    codice:
    SELECT count(*)
    FROM tabellaX
    WHERE condizione
    in php poi come mi riferisco a count(*) nell'array $row?
    c'è $row[count(*)]? (mi sembra abbastanza strano) oppure nella query devo per forza fare una ridenominazione dell'attributo tipo
    codice:
    SELECT count(*) AS nuovonome
    resto query
    Spero possiate aiutarmi, grazie in anticipo

  2. #2
    In questo caso viene restituito un solo record, quindi il foreach è inutile, quindi potresti fare così:
    Codice PHP:
    $row $dbh->query($sql); 
    PEr quanto riguarda il secondo punto, ti conviene utilizzare la clausola AS per assegnare un nome al campo del conteggio e riferirti a questo.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480

    Re: PDO e Connessione a DB funzioni aggregazione

    Originariamente inviato da thehive88
    in php poi come mi riferisco a count(*) nell'array $row?
    c'è $row[count(*)]? (mi sembra abbastanza strano)
    Perché ti sembra strano? Il manuale dice che la chiave di un array può essere una qualsiasi stringa,
    quindi $row['count(*)'] è perfettamente legale.
    Le chiavi senza virgolette invece non vanno mai usate (tranne ovviamente per chiavi numeriche)

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.