Non riesco a connettermi al DB tramite PDO

CristianB72

Nuovo Utente
24 Giu 2016
24
1
3
48
Salve, sto studiando i linguaggi di programmazione per il web, in questo periodo sto studiando un testo di Kevin Yank dal titolo "Sviluppare applicazioni con PHP e MySQL". Ho seguito i primi capitoli senza problemi ma mi son bloccato completamente sul capitolo riguardante la connessione tramite PHP al database MySQL.
Sto lavorando sia su locale tramite EasyPHP che su remoto tramite Altervista. Sono giorni che nei vari forum cerco risposte d'aiuto per il mio problema, in pratica sto cercando di connettermi al DB attraverso l'uso di PDO.
Allego qui sotto il codice:
Codice:
<?php
//CONNESSIONE AL DATABASE E GESTIONE ERRORI
$col = 'mysql:host=localhost;dbname=ijdb';

try{
    $pdo = new PDO($col,'ijdbuser2','adminno');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->exec('SET NAMES "utf8"');
   }


catch (PDOException $e)
{
    $output = 'Impossibile connettersi al server di database. '.$e->getMessage();
    include 'output.html.php';
    exit();
}
$output = 'Connessione al database stabilita.';
include 'output.html.php';
?>
A volte mi da l'errore riguardante il mancato caricamento di un plugin ed in remoto mi da "accesso negato per lo user".
Vorrei tanto continuare a studiare il libro ma se mi si blocca il percorso fin dalla prima connessione, rischio di perdere ogni forma d'interesse per il PHP. Ho anche modificato i file di Configurazione, togliendo il commento sulle voci in causa ma continua a non connettermi. Posso dare tante altre informazioni aggiuntive in base a quello che potete rispondere. Grazie a tutti.
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
Ciao, prova a eseguire queste prove
PHP:
$pdo = new PDO("mysql:host=localhost;dbname=database", 'username', 'password');
 

CristianB72

Nuovo Utente
24 Giu 2016
24
1
3
48
Ciao Cris8380, l'istruzione in quel formato l'avevo scritta così inizialmente (secondo i dettami del libro) ma come vedi è la stessa cosa.
Mi torna questo errore: "SQLSTATE[42000] [1044] Access denied for user "******@'localhost' to database 'ijdb'
Come avevo scritto ieri, cambiando qualche codice che al momento non ricordo, mi dava "plugin *** not loaded! Ma se io scarico EasyPHP non dovrebbe già contenere tutto il necessario? Poi se eventualmente cambio versione di PHP non me la cambia, come mai? Non riesco ad usare la versione 7.
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
l'unica cosa da fare CristianB72 e controllare il php.ini
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
Infatti come pensavo, cerca verificare i privilegi del db,
 

CristianB72

Nuovo Utente
24 Giu 2016
24
1
3
48
Ho risolto, il problema era un'altro. Secondo il libro, ho creato un utente dandogli i privilegi necessari ed attribuendogli una password. Ora che sto controllando le caratteristiche del DB, leggo che non sto usando l'utente che ho creato ma l'utente "root". Utilizzando "root", accedo tranquillamente al DB.
Invece se tento di accedere con l'utente "ijdbuser" mi da questo errore: "SQLSTATE[HY000] [1524] Plugin '*925BD838D0718CEAEE1EF0BB3370E84EA2160A69' is not loaded"
Scusate se sto facendo confusione ma ci stiamo arrivando. In allegato ho messo lo screenshot degli utenti.
 

Allegati

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
Prova ad eliminare l'utente e reinserirlo nuovamente!
 

CristianB72

Nuovo Utente
24 Giu 2016
24
1
3
48
Lo avevo già fatto creando appunto l'utente ijdbuser2. Gli avevo anche creato la password ma nella colonna "password" c'è scritto NO. Non capisco
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
Visto che si tratta di errore del plugin, quindi i nuovi utenti non li riconosce, per poter risolvere il problema (lo spero per te) prova a eseguire un upgrade di MySQL
Buon lavoro a pesto.
 

CristianB72

Nuovo Utente
24 Giu 2016
24
1
3
48
Ma il file easyPHP non dovrebbe contenere già tutti gli ultimi aggiornamenti? Io ho pure scaricato l'ultima versione di MySQL ma poi come si installa?
 

marino51

Utente Attivo
28 Feb 2013
2.927
166
63
Lombardia
nella lista che hai postato c'è la colonna "GRANT", dove si capisce che i nuovi utenti non hanno "permessi" per il db
nel libro che stai leggendo, dovrebbe essere trattata l'istruzione "GRANT" che permette di assegnare i permessi agli utenti,
nel caso fosse necessario, puoi trovare anche qui http://dev.mysql.com/doc/refman/5.7/en/grant.html

ricorda,
ti connetti a mysql con utente e password,
chiedi poi di utilizzare uno specifico db
ed, in precedenza, con la "grant" hai concesso all'utente il "privilegio" delle operazioni che può compiere sul db
l'utente potrà "eseguire" solo le istruzione del db che gli sono state concesse