php PDO mysql connessione(select_db)

frankz

Nuovo Utente
27 Dic 2017
14
0
1
68
Vorrei sapere se qualcuno mi puo' spiegare perche' questa parte di codice non funziona.
PHP:
function getDB(){
    session_start();
    $hostname="localhost";
    $dbname=$_SESSION['dbusato'];
    $user="root";
    $pass="pippo";
    $dboptions = array(
        PDO::ATTR_PERSISTENT => FALSE,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
    );

    try {
        $DBsel= new PDO("mysql:host=$hostname;dbname=$dbname", $user, $pass, $dboptions);
        return $DBsel;
    }
    catch (PDOException $e){
        echo "ERRORE:  ". $e->getMessage();
        die();
    }
}
mentre se sostituisco la riga $dnmame... con:
$dbname="ottica";
funziona regolarmente.
Chiedo questo, perche' la mia intenzione e' di dare il nome del database dinamicamente ( ogni anno faccio il clone del DB e quindi vorrei rivedere i dati degli anni precedenti), come alternativa a mysql_select_db().
 
Ultima modifica di un moderatore:

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
function getDB(){ session_start();
il comando session_start è in una posizione strana, dovrebbe essere la prima istruzione dello script
$dbname=$_SESSION['dbusato'];
sembra che non riesca a prendere il valore da $_SESSION, tant'è che,
$dbname="ottica"; funziona regolarmente
quindi inserendo il valore manualmente lo recepisce e lavora.

prova a sistemare session_start come prima istruzione dello script
e poi inserisci un controllo visivo del risultato
PHP:
function getDB(){
    var_dump($_SESSION['dbusato']);

    $hostname="localhost";
    $dbname=$_SESSION['dbusato'];
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per prima cosa fai una verifica che la sessione $_SESSION['dbusato'] sia valorizzata, es
PHP:
//....
$hostname="localhost";
if(isset($_SESSION['dbusato'])){
    $dbname=$_SESSION['dbusato'];
}else{
    echo "la sessione NON è valorizzata";
}
//.....
poi verifica che session_start() sia alla prima riga, prima di qualsiasi output html, anche uno spazio prima del tag php è un output html
 

frankz

Nuovo Utente
27 Dic 2017
14
0
1
68
ciao
per prima cosa fai una verifica che la sessione $_SESSION['dbusato'] sia valorizzata, es
PHP:
//....
$hostname="localhost";
if(isset($_SESSION['dbusato'])){
    $dbname=$_SESSION['dbusato'];
}else{
    echo "la sessione NON è valorizzata";
}
//.....
poi verifica che session_start() sia alla prima riga, prima di qualsiasi output html, anche uno spazio prima del tag php è un output html
in effetti la variabile non era valorizzata, avevo fatto un errore concettuale
 
Discussioni simili
Autore Titolo Forum Risposte Data
MarcoGrazia [PHP][PDO][MySQL] Non registra ma non da nemmeno errori. PHP 0
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 1
R Organizzazione PHP Mysql PDO PHP 15
K [PHP] PDO.bindingParam PHP 2
M [PHP] Interrompere DROP TABLE con PDO PHP 0
M [PHP] Alternativa a datagrid con PDO PHP 6
M [PHP] Creare un menu a tendina con pdo PHP 18
M [PHP] Array di array - PDO PHP 2
W [PHP] Creazione classe PDO PHP 4
F PHP, PDO e visualizzazioni errori e/o eccezioni PHP 3
3_g [PHP] mvc, pdo e classi... PHP 7
Fredyss redirect a altra pagina php dopo commit su postgresql con PDO PHP 1
C [PHP] PDO prepared statement - select query errore PHP 7
ANDREA20 [PHP] Errore $this->db_connection = new PDO PHP 0
MarcoGrazia [PHP][PDO] Come connettersi al database Snippet PHP 0
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
voldemort PHP PDO: non c'ho capito niente PHP 1
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1

Discussioni simili