Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Pdo

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    248

    Pdo

    Ho letto che conviene usare la connessione con PDO ed ho provato a cambiare le istruzione (naturalmente ho cambiato anche la connessione):

    $sql = 'SHOW DATABASES';
    $Risul = $Conn->prepare($sql);
    $Risul->execute();
    while ($row = $Risul->fetch(PDO::FETCH_BOUND)) {
    echo "{$row[0]}\n"; }

    Il problema è che non mi visualizza alcun database, mentre con i comandi precedenty musql_... mi visualizzava il database.
    Qualcuno mi sadire dove sbaglio?

    grazie

    Gaetano

  2. #2
    Non è che conviene usare PDO per tutto....
    PDO è un ottimo mezzo per astrarre le connessioni con i Database, quindi creare applicazioni che con minime modifiche possano usare DB differenti.

    Dovresti vedere se l'oggetto PDO è instanziato correttamente, ovvero se hai passato i parametri giusti al costruttore indicando anche il tipo di driver usare.
    Prova a postare la stringa in cui instanzi l'oggetto PDO.
    Ok-Web! OpenSource Development for Web 2.0 (HTML5 - CSS3 - JAVASCRIPT - PHP - JAVA and more...)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    248
    si è istanziato bene, in quanto nella riga successiva mi visualizza le tabelle.

    Ti posto il codice della connessione:
    define('DSN','mysql:hostname=localhost;dbname=dgt' );
    define('USERNAME','root');
    define('PASSWORD','?????');


    Function Connetti() {
    // Connessiona al dataBase
    //$Conn = mysql_connect('localhost','root') or die("Errore nella connessione a MySql: " . mysql_error());

    try
    {
    //Instaura la connessione
    $Conn = new PDO(DSN, USERNAME);
    }

    /* Nel caso in cui ci siano errori durante la connessione,
    * li cattura nella variabile $myerror e li stampa */
    catch (PDOException $myerror)
    {
    print "Problemi nella connessione al database:
    " . $myerror->getMessage() . "
    ";
    }
    return $Conn;

    Non so se questo vada bene

    ciao e grazie

  4. #4
    Stai facendo una zuppa.

    codice:
    Function Connetti() {
    // Connessiona al dataBase
    //$Conn = mysql_connect('localhost','root') or die("Errore nella connessione a MySql: " . mysql_error());  ==>>> NON SERVE SE USI PDO
    
    try
    {
    //Instaura la connessione
    $Conn = new PDO(DSN, USERNAME);
    }
    Devi instanziare cosi' :
    codice:
    $objPDO = new PDO(DSN,USR,PWD,array(PDO::ATTR_PERSISTENT => TRUE)) #ultimo parametro se vuoi usare una connessione persistente TRUE altrimenti FALSE
    poi ritorni l'oggetto instanziato

    CIAO
    Ok-Web! OpenSource Development for Web 2.0 (HTML5 - CSS3 - JAVASCRIPT - PHP - JAVA and more...)

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    248
    non è lo stesso che ho fatto io?

    la password non la metto perchè non c'é

    Sto provando ad importare un file csv, ho l'array ed adesso vorrei scrivere il dato nella tabella.

    La tabella è composta da un campo Progressivo(autoincremento ) e 2 campi caratteri il codce è questo:
    $Conn = Connetti();
    $sql = 'INSERT INTO AssegnazioniTipo (Progressivo, Descrizione, Tipo) VALUES (escrizione, :Tipo)';
    $Risul = $Conn->prepare($sql);
    $Risul->bindValue('escrizione', $data[0], PDO::PARAM_STR);
    $Risul->bindValue(':Tipo', $data[1], PDO::PARAM_STR);
    $Risul->execute();

    Vado a controllare la Tabella ma risulta vuota.

    L'unica cosa che non inserisco è il campo Progressivo in quanto essendo autoincremento dovrebbe inserire da solo il dato

  6. #6
    si ma il parametro vuoto lo devi passare per la password

    $objPDO = new PDO(DSN, USR, '', array(PDO::ATTR_PERSISTENT => FALSE))
    Ok-Web! OpenSource Development for Web 2.0 (HTML5 - CSS3 - JAVASCRIPT - PHP - JAVA and more...)

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    248
    grazie poverò.

    Qualche consigli per l'inserimento?

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.