Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Metodo query pdo

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    110

    Metodo query pdo

    Salve ragazzi, volevo un chiarimento sul metodo query di pdo.

    Ho una tabella del database chiamata giocatori composta da 2 campi id e giocatore. Supponiamo che nella tabella ho i seguenti dati..

    id giocatore
    1 Antonio
    2 Paolo
    3 Giuseppe
    4 Roberto

    Mi collego al db con il PDO (ometto di scrivere il codice) e faccio la seguente query:

    $sql='SELECT giocatore FROM giocatori';
    $result=$pdo->query($sql)

    $result è una variabile che contiene il reference ad un oggetto di tipo PDOStatement che contiene il risultato della query sotto forma di array associativo.
    In pratica è come se avessi
    $giocatore[]='Antonio';
    $giocatore[]='Paolo';
    $giocatore[]='Giuseppe';
    $giocatore[]='Roberto';

    Questa interpretazione è giusta?
    Ultima modifica di Lucciano; 14-01-2014 a 15:38

  2. #2
    PDO::query ritorna una risorsa (il risultato della query) wrappato nel PDOStatement. PDOStatement fornisce un api per accedere a tale risorsa in vari modi. Quindi no non è un array, viene elaborato come tale se lo chiedi a PDOStatement. Se poi internamente venga gestito in un modo piuttosto che un altro, poco ti dovrebbe interessare (e poco interessa a me diciamo va).

    Se poi leggi qui: http://stackoverflow.com/questions/1...each-and-fetch la risposta spiega molto meglio di me il concetto
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Se ti stupisce che tu possa fare

    Codice PHP:

    $stm 
    $pdo->query("...");

    foreach(
    $stm as $row)
    {
       echo 
    $row['mycolumn'];

    è perchè PDOStatement implementa Traversable, che vuol dire che può rispondere al foreach (una tua classe implementerebbe pure Iterator o simili, ma le builtin non ne hanno bisogno (come da manuale))
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.