2013-03-19 10 views
7

Utilizzo Windows XP e utilizzo di EasyPHP come server. Ho integrato Codeigniter con TankAuth. Ma, quando provo ad aprire il mio incarico cartella, mostra errore come segue:Codeigniter: visualizzazione dell'errore come "Impossibile selezionare il database specificato: progetto" in Windows XP

Unable to select the specified database: project 

Filename: C:\Program Files\EasyPHP-12.1\www\assignment\system\database\DB_driver.php 

Line Number: 140 

il codice all'interno mio database .php è la seguente"

$active_group = 'default'; 
$active_record = TRUE; 

$db['default']['hostname'] = 'localhost'; 
$db['default']['username'] = 'root'; 
$db['default']['password'] = 'root123'; 
$db['default']['database'] = 'project'; 
$db['default']['dbdriver'] = 'mysql'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 

Ho controllato il mio database.php, al suo interno ho nome del database come 'progetto'.

ho provato con hostname sia come 'localhost' e come '127.0.0.1', ma nessuno ha lavorato.

ho impostato il mio controller di default per 'auth 'ie . controller predefinito di TankAuth.

E hanno inizializzato la libreria 'database' nel costrutto nel controller 'auth'.

Proprio ora ho provato la stessa cosa usando Wamp Server. Ma, ho ottenuto lo stesso risultato.

qualche parte ho letto che avrei dovuto provare a fare $db['default']['pconnect'] e

$db['default']['db_debug']-FALSE. Ma non ha funzionato.

E tutte le autorizzazioni di accesso sono state concesse al "progetto" del database.

C'è qualcosa che dovrei provare a farlo funzionare?

Grazie in anticipo ...

+0

Da qualche parte si sta tentando di caricare un database denominato "progetto" ... stai facendo questo nel controller? –

+0

@DevinYoung No, non ho caricato nessun database nel controller 'auth.php' – V15HM4Y

+0

Ciao, Risolvi questo problema? .. Ora ho questo problema, per favore dimmi come correggere – shruthi

risposta

10

L'errore viene affermando che si è collegato con successo al vostro software di database, ma non riesce a trovare il nome specificato DB project. Controlla le connessioni DB e assicurati che siano tutte corrette: sembra che il nome del tuo database debba essere assignment.

Modifica: verificare che l'utente DB che si sta effettuando l'accesso abbia anche il permesso di accedere al database specificato.

+0

Scusa fratello per ingannarti. È stato un mio errore scrivere una domanda sbagliata. In realtà "assegnazione" è il nome della mia cartella Codeigniter. E il nome del database nel file di configurazione 'database.php' è 'progetto'. E il database con lo stesso nome è presente anche nel mio database MYSQL – V15HM4Y

+0

Vedere la nota riveduta sull'autorizzazione dell'utente DB. –

+0

Ho verificato che il progetto di database ha tutte le autorizzazioni di accesso DB – V15HM4Y

1

Prova questo: basta aggiornare il software db. Se utilizzi l'Admin PHPMy, aggiorna la pagina e prova a caricare la tua pagina PHP. o se avete qualche stored procedure nel vostro db, questo potrebbe causare il problema. provare a rimuovere le stored procedure.

20

Mi trovavo di fronte a un problema simile ma sfortunatamente nessuna delle risposte su nessun sito ha aiutato. La cosa strana era che ero facilmente in grado di connettermi a MySQL usando un semplice PHP, ma in CodeIgniter stavo ricevendo questo messaggio.

Finalmente questo ha risolto il mio problema. Aprire il file application/config/database.php e cambiare la seguente riga:

$db['default']['dbdriver'] = 'mysql'; 

A:

$db['default']['dbdriver'] = 'mysqli'; 

Questo spostamento a mysqli salvato da giorno.

+0

Grazie, ha funzionato. xD ... Non so perché e come, ma la tua soluzione ha funzionato per me .. :) Stava funzionando prima, ma non sono sicuro del motivo per cui ha smesso di funzionare in primo luogo. –

1

Forse questo salverà qualcuno a volte - stavo usando cPanel e ha una certa regola che un utente deve essere legato a un database per accedervi. Stavo ottenendo lo stesso errore, ma poiché non avevo i permessi, non potevo accedervi.

In cPanel vai su Database MySQL, trova il tuo utente e aggiungi questo utente al tuo database.

0
Notice: SQL safe mode in effect – ignoring host/user/password information in 
mysql_connect(): SQL safe mode in effect – ignoring host/user/password information in 
This is caused due to your php.ini sql safe mode settings. 
Login your php.ini file. 
Go php.ini from apache and turn off sql.safe mode. 

[SQL] 
sql.safe_mode = Off 
Restart apache 
Problemi correlati