Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problema con PDO

  1. #1

    Problema con PDO

    sto seguendo sia un libro sia il sito ufficiale per studiare PDO.
    ho creato un file config.php per provare la connessione:
    codice:
    <?php
    
    $dns = "mysql:dbname=banca;host=localhost";
    $user = "user";
    $pass = "pass";
    try {
        $objPDO = new PDO($dsn, $user, $pass);
        print "OK";
    } catch (PDOException $e) {
        echo $e->getMessage();
        exit(0);
    }
    $objPDO = NULL;
    print "Disconnessione ok";
    ?>
    ottengo sempre:
    invalid data source name
    nn riesco a capire dove sbaglio però.

  2. #2

    Re: Problema con PDO

    meglio che cambi il
    Codice PHP:
    $dns "mysql:dbname=banca;host=localhost"
    in

    Codice PHP:
    $dsn "mysql:dbname=banca;host=localhost"
    dns <->dsn

  3. #3
    c'è un motivo particolare??

    cmq nel frattempo avevo modificato così:
    codice:
    <?php
    
    $host = "localhost";
    $db = "banca";
    $username = "user";
    $passwd = "pass";
    try {
        $objPDO = new PDO("mysql:host=$host;dbname=$db", $username, $passwd);
        print "Connessione ok
    ";
    } catch (PDOException $e) {
        echo $e->getMessage();
        exit(0);
    }
    $objPDO = NULL;
    print "Disconnessione ok";
    ?>
    e funziona.
    forse hai ragione te.

  4. #4
    Originariamente inviato da fermat
    c'è un motivo particolare??
    ...
    In che senso "c'è un motivo particolare" ?!?!

    Codice PHP:
    $dns "mysql:dbname=banca;host=localhost";
    ...
        
    $objPDO = new PDO($dsn$user$pass);
    ... 
    dichiari la variabile $dns e poi utilizzi la variabile $dsn mai istanziata. Mi sembra più che valido come motivo.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da satifal
    In che senso "c'è un motivo particolare" ?!?!

    Codice PHP:
    $dns "mysql:dbname=banca;host=localhost";
    ...
        
    $objPDO = new PDO($dsn$user$pass);
    ... 
    dichiari la variabile $dns e poi utilizzi la variabile $dsn mai istanziata. Mi sembra più che valido come motivo.
    ah ok nn avevo capito.
    pensavo fosse un problema di nome di variabile.
    grazie!!!

  6. #6
    Sono stato forse troppo sintetico.
    Avevi fatto un errore di battitura usando prima la variabile $dns e poi la variabile $dsn.

    Ti consiglio inoltre di programmare (almeno in ambiente di test) con tutti gli errori riportati, compresi i NOTICE. E' un po' più complesso ma ti rende evidente subito errori come questi, risparmiandoti ore e ore di debug per delle scemenze (come sbagliare nome di una variabile).

  7. #7
    Originariamente inviato da chumkiu
    Sono stato forse troppo sintetico.
    Avevi fatto un errore di battitura usando prima la variabile $dns e poi la variabile $dsn.

    Ti consiglio inoltre di programmare (almeno in ambiente di test) con tutti gli errori riportati, compresi i NOTICE. E' un po' più complesso ma ti rende evidente subito errori come questi, risparmiandoti ore e ore di debug per delle scemenze (come sbagliare nome di una variabile).
    ok grazie per i consigli!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.