php PDO mysql connessione(select_db)

frankz

Nuovo Utente
27 Dic 2017
9
0
1
67
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.123
200
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
9
0
1
67
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
G phpmailer e php 8.1 con estensione mysqli PHP 5
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
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0

Discussioni simili