2011-11-02 22 views
5

Ho selezionato il database ma per qualche strano motivo si dice ancora che non è selezionato.Errore "Nessun database selezionato" anche dopo che è stato selezionato un db

linee di collegamento:

$location = "localhost"; 
$user = "user"; 
$pass = "pass"; 

//Database Selection 
$link = mysql_connect($location, $user, $pass); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
//Database Selection 
mysql_select_db('database') or die(mysql_error()); 

la query:

while ($row_fpages = mysql_fetch_array($result_fanpage)) 
{ 
    if ($row_fpages['client'] == NULL) { 

    //GRAPHS 
    $sql = "SELECT date, likes FROM statistics_pages WHERE idnum='".$_COOKIE['id']."' AND page_name = ".$row_fpages['page_name']." LIMIT 7"; 
    $result_apps = mysql_query($sql) or die(mysql_error()); 

E l'errore è una pianura No database selected.

Non ho mai visto questo errore prima e ho provato a cambiare un sacco di cose ma non funziona.

+0

Questo può verificarsi anche se il comando mysql_query comanda * prima * i comandi mysql_connect o mysql_selectdb della chiamata –

risposta

7

Hai dimenticato di passare la variabile $ link come parametro di collegamento.

 mysql_select_db('database', $link) or die(mysql_error()); 

EDIT: Prova a passare il database nel parametro FROM come

 SELECT * FROM `database`.`table` 
+0

che non sarebbero necessari. Se non è specificato alcun collegamento, verrà considerato l'ultimo collegamento aperto. http://php.net/manual/en/function.mysql-select-db.php – Marcus

+0

Oh sì? Non lo sapevo ... È vero. Grazie per le informazioni ! –

+0

Penso che Marcus abbia ragione ma ho deciso di verificarlo comunque e non aiuta. – Ricardo

0

assicurarsi che il codice non è stato inserito in classi e roba, se è solo presentato come è, allora forse ' database 'non è valido, ricontrolla i tuoi valori e prova a renderli una variabile esterna.

+0

'database' è valido e non utilizzo nemmeno le classi nel mio codice ..: \ – Ricardo

2

Le autorizzazioni utente di mysql possono essere sul database che si sta selezionando?

2

Un altro motivo per cui viene visualizzato questo errore è dovuto al fatto che il nome utente e la password che si sta utilizzando per accedere al database potrebbero non avere persecuzioni di lettura/scrittura appropriate. Soprattutto su un server di hosting condiviso, sarà necessario assegnare il nome utente appropriato al database corrispondente. Recentemente ho avuto questo problema, avevo creato un nuovo database e ho dimenticato di assegnare le persmissioni per il mio nome utente esistente.

1

Verificare se è stato aggiunto l'utente al db e gli sono state concesse le autorizzazioni appropriate.

0

risolto Usa `backticks per MySQL parole riservate ... il tuo nome della tabella è riservata parola per MySQL ... Cambia il tuo nome della tabella.

Problemi correlati