2011-11-02 13 views
5

He seleccionado la base de datos, pero por alguna extraña razón todavía dice que no está seleccionada.Error "Sin base de datos seleccionada" incluso después de seleccionar un db

líneas de conexión:

$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 consulta:

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()); 

Y el error es una llanura No database selected.

Nunca había visto este error antes y traté de cambiar muchas cosas, pero simplemente no funciona.

+0

Esto también puede ocurrir si el comando mysql_query manda * antes de su llamada a los comandos mysql_connect o mysql_selectdb –

Respuesta

7

Olvidó pasar la variable $ link como parámetro de enlace.

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

EDIT: Trate de pasar la base de datos en el parámetro FROM como

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

Eso no sería necesario. Si no hay un enlace especificado, se asumirá el último enlace abierto. http://php.net/manual/en/function.mysql-select-db.php – Marcus

+0

¿Ah sí? No sabía ... Es verdad. Gracias por la info ! –

+0

Creo que Marcus tiene razón, pero decidí verificar esto de todos modos y no ayuda. – Ricardo

0

Asegúrese de que el código no se inserta en clases y esas cosas, si sólo presenta como es, entonces tal vez ' la base de datos 'no es válida, verifique dos veces sus valores e intente convertirla en una variable externa.

+0

'database' es válido y ni siquiera uso clases en mi código ..: \ – Ricardo

2

¿Pueden los permisos de usuario de mysql en la base de datos que está seleccionando?

2

Otro motivo por el que aparece este error es porque el nombre de usuario y la contraseña que está utilizando para acceder a la base de datos pueden no tener las capacidades de lectura/escritura apropiadas. Especialmente en un servidor de alojamiento compartido, deberá asignar el nombre de usuario apropiado a la base de datos correspondiente. Hace poco tuve este problema, había creado una nueva base de datos y olvidé asignar persianas para mi nombre de usuario existente.

1

Compruebe si ha agregado el usuario a la base de datos y le ha otorgado los permisos correspondientes.

0

RESUELTO Use `acentos abiertos para MySQL palabras reservadas ... su nombre de la tabla está reservado para MySQL palabra ... Cambiar el nombre de la tabla.

Cuestiones relacionadas