PHP “Sin base de datos seleccionada”

Recientemente comencé a crear un sitio web en PHP. La mayor parte de mi código funciona, pero he encontrado un problema que tengo problemas para corregir.

Tengo una página donde hay muchas llamadas a la base de datos. en la parte superior de mi página me estoy conectando y usando un SELECT para obtener información sobre el producto relacionado.

En la parte inferior de la página me estoy conectando de nuevo para obtener comentarios sobre el producto relacionado.

Mi código es muy extenso, así que es difícil para mí mostrarlo aquí, pero los conceptos básicos de este código son los siguientes:

PHP CODE SELECT's UPDATE's HTML TABLE's IMAGE's ect... PHP SELECT's 

Mi código ejecuta con éxito todo mi código cuando primero cargo la página, sin embargo, cuando hago clic en un botón para actualizar una tabla (en la sección superior del código) la actualización se procesa, sin embargo, la sección de comentarios en la parte inferior de la página el siguiente error:

“No hay base de datos seleccionada.”

Ambas selecciones de la parte superior de la página y la parte inferior de la página están conectadas a la misma base de datos y la misma tabla. También la sección de comentarios que devuelve el error funciona bien antes de hacer clic en el botón de actualización.

El código donde mi código dice que está ocurriendo el error es:

 $commResult = mysql_query("SELECT u.id, u.USERNAME, c.COMMENT, c.DATE_ADDED, c.ACTIVE FROM USERS u, COMMENTS c WHERE c.box_id = $boxId ORDER BY c.DATE_ADDED DESC") or die (mysql_error());; while ($row = mysql_fetch_array($commResult)) { //Do processing here. } 

Mi código para la conexión a la base de datos. Esto está en un archivo separado y yo uso un require_once (config.php); para llamarlo en la parte superior de cada página que mi código necesita para conectarse a la base de datos.

 $username = "user"; $password = "password"; $hostname = "localhost"; //connection to the database $dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL"); //select a database to work with $selected = mysql_select_db("databasename",$dbhandle) or die("Could not select databasename"); 

Creo que puedes estar abriendo una conexión MySQL en la parte superior del script, cerrándolo y volviéndolo a abrir sin olvidarte de seleccionar la base de datos.

Si está utilizando las antiguas funciones mysql_ (que en realidad ya no debería usar para el código nuevo, eche un vistazo a MySQLi y PDO ), entonces puede haber olvidado esta línea de código:

 mysql_select_db("databaseName"); 

O bien, si está utilizando “consultas sin procesar”, es posible que le falte esta línea:

 mysql_query("USE databaseName"); 

Aunque en el mismo script probablemente no valga la pena cerrar la conexión de la base de datos, podría ser una mejor idea mantenerla abierta durante todo el script.

¿ mysql_select_db("Your Database Name") a mysql_select_db("Your Database Name") o mysql_query("Your Database Name", "Query") ?

Y sí, es mejor que no uses mysql, usa mysqli en su lugar.