Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    2

    Connessione a DB PostgreSQL

    Spero di non esser nella sezione sbagliata, sto cercando, in ambiente Linux(Debian per la precisione), di creare una pagina PHP che mi ritorni i risultati di una query ad un database PostgreSQL passatagli via get, ma purtroppo non riesco a stabilire una connessione con il DB(avevo già tentato con MySQL ed ha funzionato) naturalmente ho fatto un po' di ricerche, ma purtroppo non sono riuscito a risolvere il problema:

    Ho visto da qualche parte che potrebbe mancare il modulo per comunicare ma il modulo php5-pgsql è installato(ovviamente ho provato a reinstallarlo più volte), e poi phppgadmin funziona e mi fa loggare quindi in qualche modo la comunicazione fra php e postgresql funziona.

    Il codice che uso per la connessione è:
    $con=pg_connect("host=".$host." user=".$utente." password=".$pass);

    if(!$con){
    die('Connessione non riuscita' . pg_errormessage($con) . " fine errore
    ");
    }

    Ma la connessione non va e pg_errormessage($con) restituisce stringa vuota idem se uso pg_last_error, quindi non ho la minima idea di quale sia l'esatto problema.

    L'host è localhost e la stringa di connessione che vedete è solo l'ultima di una serie di tentativi, ho provato anche con porta e nome del db ma niente.

    Una cosa strana è che se provo da console a lanciare il comando:
    psql -U nomeuser -W
    il risultato è:
    Inserisci la password per l'utente prove:
    psql: FATALE: autenticazione Peer fallita per l'utente "nomeuser"

    Al momento sono alla versione 9.1.9 ma avevo anche tentato di aggiungere repository per utilizzare la 9.2 ma alla fine l'ho cancellata.

    Ho provato a reinstallare postgres diverse volte, riavii di apache a non finire quindi dubito che l'ennesima reinstallazione possa sortire effetto.

    Qualcuno ha la minima idea di come risolvere? o per lo meno di come farmi restituire l'esatto errore di connessione?
    Vi ringrazione in anticipo .

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    2
    Inanto scusate per non aver messo il tag PHP nel codice del precedente post, comunque dovrei aver risolto il problema cercando in giro ho trovato questa funzione per mostrare gli errori di connessione
    Codice PHP:
    function exception_error_handler($errno$errstr$errfile$errline ) {
        throw new 
    ErrorException($errstr$errno0$errfile$errline);
        }
        
    set_error_handler("exception_error_handler");

        try{
            
    $con=pg_connect("host=".$host." user=".$utente." dbname=".$nome_db." password=".$pass);
        } Catch (
    Exception $e) {
        Echo 
    $e->getMessage();
        } 
    Non inserendo il database mi diceva che il database nomeutente non esisteva così ho provato con l'ordine riportato nell'esempio della funzione(host, user, dbname, pass) e sembra connettersi.

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.