• Home
  • Forum
  • Fare Web
  • PHP

Pdo

  • Creatore Discussione Creatore Discussione bismark2005
  • Data di inizio Data di inizio 16 Nov 2012
B

bismark2005

Utente Attivo
8 Mar 2011
70
0
0
  • 16 Nov 2012
  • #1
Nel manuale nel capitolo relativo al PDO ad un certo punto dice:
"La classe PDO ha un metodo chiamato query(). Gli si passa un'istruzione Mysql e restituisce un oggetto di classe PDO"

$result=$connection->query("SHOW TABLES")

Come fa un metodo a restituire un oggetto di classe PDO? Istanzia la classe PDO?
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
  • 23 Nov 2012
  • #2
Quando per esempio esegui il bootstrap per la connessione scrivi qualcosa come questo:
PHP:
$db = new PDO($col , 'username', 'password');
quindi stai istanziando.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
  • 25 Nov 2012
  • #3
Non è vero che il metodo query() restituisce un'istanza della classe PDO. Come è scritto nel manuale restituisce un'istanza della classe PDOStatement.
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
  • 27 Nov 2012
  • #4
alessandro1997 ha scritto:
Non è vero che il metodo query() restituisce un'istanza della classe PDO. Come è scritto nel manuale restituisce un'istanza della classe PDOStatement.
Clicca per allargare...
Definizione troppo drastica, in realtà è PDO::query della classe PDO a restituire un set sotto forma di oggetto PDOStatement.
 
B

bismark2005

Utente Attivo
8 Mar 2011
70
0
0
  • 27 Nov 2012
  • #5
Porca la miseria ragazzi, per capire questa classe Pdo e come mai foreach() riusciva ad "attraversarela classe" ho dovuto studiarmi anche il pattern iterator :-(

Qualsiasi classe che implementa l'interfaccia Traversible può essere “attraversata” dal costrutto foreach(). Tuttavia l'interfaccia Traversible è un'interfaccia vuota, al suo posto vanno usate altre due interfacce (Iterator e IteratorAggregate) che a loro volta implementano Traversible.

Iterator presenta alcuni metodi non implementati che vanno definiti nella classe che implementa l'interfaccia. Ad esempio:

Codice:
Class QuadratoNumeri implements Iterator{
    private $inizio;
    private   $fine;
    private $cur;

    public function __construct($inizio, $fine)
       {
       $this->inizio=$inizio;
       $fine->=$fine;
       }

    public function rewind(){
       $this->cur=$inizio;
    }

    public function key{
       return $this->cur;
    {
    public function current(){
       return pow($this->cur,2);
    }
    public function next{
       $this->cur++;
    }
    public function valid(){
       return $this->cur <= $this->fine;
    }
    }

    $obj=newQuadratoNumeri(3,7);

    foreach($obj as $key=>$value){
    print “Il quadrato di $key è $value\n”;
    }

Siccome bisogna separare l'implementazione della classe dal suo iteratore, si fa uso dell'intefaccia IteratorAggregate che contiene un metodo pubblico getIterator. Il metodo restituisce un oggetto iteratore che gestisce l'iterazione per la classe corrente.

Codice:
Class QuadratoNumeri implements IteratorAggregate{
       private $inizio;
       private $fine;
    public function __construct($inizio,$fine)
    {
    $this->inizio=$inizio;
    $this->fine=$fine;
    }
    public function getIterator()
    {
    return new QuadratoNumeriIteratore($this);
    }
    …......
    ….....
    }

Ovviamente questo meccanismo va applicato anche alla Classe Pdo.

Ho comprato il manuale Php 6 Guida per lo sviluppatore (io che pensavo il db fosse un panino da mangiare) e quando ho iniziato a studiarlo mi stavo buttando dalla finestra Mi sono trovato di fronte a concetti mai visti prima (classe, oggetto, ereditarietà, polimorfismo,ecc. ecc). Poi dopo molto tempo e ore di studio unite a smadonnamenti vari sono riuscito a "carburare" ma quanta fatica!!!!

E se penso che ora mi aspetta il capitolo sull'ORM......

Ps: Eliox ma tu sei Claudio Garau? Se si volevo ringraziarti pubblicamente. Senza la tua guida sul Pdo non credo ce l'avrei fatta!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 27 Nov 2012
  • #6
ciao
Ps: Eliox ma tu sei Claudio Garau? Se si volevo ringraziarti pubblicamente. Senza la tua guida sul Pdo non credo ce l'avrei fatta!
Clicca per allargare...
attento ad non incontrarlo dopo il tramonto... morde sul collo
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
  • 28 Nov 2012
  • #7
borgo italia ha scritto:
ciao
attento ad non incontrarlo dopo il tramonto... morde sul collo
Clicca per allargare...

Sono solo leggende, in realtà mordo anche di giorno
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

L
pdo (stampare un valore con ritorno a funzione)
  • luigi777
  • 14 Feb 2020
  • PHP
Risposte
0
Visite
1K
PHP 14 Feb 2020
luigi777
L
K
[PHP] PDO.bindingParam
  • Knai
  • 18 Set 2019
  • PHP
Risposte
2
Visite
1K
PHP 18 Set 2019
Knai
K
M
[PHP] Interrompere DROP TABLE con PDO
  • Max61
  • 28 Gen 2019
  • PHP
Risposte
0
Visite
1K
PHP 28 Gen 2019
Max61
M
M
[PHP] Alternativa a datagrid con PDO
  • Max61
  • 26 Gen 2019
  • PHP
Risposte
6
Visite
3K
PHP 28 Gen 2019
Max61
M
M
[PHP] Creare un menu a tendina con pdo
  • Max61
  • 25 Gen 2019
  • PHP
Risposte
18
Visite
4K
PHP 25 Gen 2019
Max61
M
M
[PHP] Array di array - PDO
  • mDesk
  • 23 Dic 2018
  • PHP
Risposte
2
Visite
2K
PHP 23 Dic 2018
mDesk
M
errore con mysql insert in PDO
  • 3_g
  • 9 Ott 2018
  • PHP
  • 2
Risposte
29
Visite
6K
PHP 11 Ott 2018
3_g
W
[PHP] Creazione classe PDO
  • webfra01
  • 3 Set 2018
  • PHP
Risposte
4
Visite
2K
PHP 4 Set 2018
webfra01
W
F
PHP, PDO e visualizzazioni errori e/o eccezioni
  • frankz
  • 25 Feb 2018
  • PHP
Risposte
3
Visite
3K
PHP 4 Mar 2018
frankz
F
[PHP] mvc, pdo e classi...
  • 3_g
  • 9 Gen 2018
  • PHP
Risposte
7
Visite
3K
PHP 15 Gen 2018
3_g
F
Help-PDO copiare Database MySQL
  • frankz
  • 3 Gen 2018
  • PHP
Risposte
3
Visite
2K
PHP 5 Gen 2018
marino51
F
php PDO mysql connessione(select_db)
  • frankz
  • 27 Dic 2017
  • PHP
Risposte
3
Visite
2K
PHP 3 Gen 2018
frankz
F
redirect a altra pagina php dopo commit su postgresql con PDO
  • Fredyss
  • 6 Ott 2017
  • PHP
Risposte
1
Visite
2K
PHP 7 Ott 2017
marino51
K
Non trovo l'errore! PDO MYSQL UPDATE
  • Knai
  • 10 Mar 2017
  • PHP
Risposte
2
Visite
2K
PHP 11 Mar 2017
Knai
K
C
[PHP] PDO prepared statement - select query errore
  • cleto
  • 21 Dic 2016
  • PHP
Risposte
7
Visite
3K
PHP 27 Dic 2016
cleto
C
[PHP] Errore $this->db_connection = new PDO
  • ANDREA20
  • 22 Nov 2016
  • PHP
Risposte
0
Visite
1K
PHP 22 Nov 2016
ANDREA20
Non riesco a connettermi al DB tramite PDO
  • CristianB72
  • 24 Giu 2016
  • Database
Risposte
10
Visite
4K
Database 25 Giu 2016
marino51
[PHP][PDO][MySQL] Non registra ma non da nemmeno errori.
  • MarcoGrazia
  • 22 Dic 2015
  • PHP
Risposte
0
Visite
2K
PHP 22 Dic 2015
MarcoGrazia
[PHP][PDO] Come connettersi al database
  • MarcoGrazia
  • 22 Nov 2015
  • Snippet PHP
Risposte
0
Visite
4K
Snippet PHP 22 Nov 2015
MarcoGrazia
[PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE
  • MarcoGrazia
  • 14 Nov 2015
  • Snippet PHP
Risposte
1
Visite
5K
Snippet PHP 23 Set 2022
MarcoGrazia
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?