seleccionar datos de una tabla con PHP+MySQL

adriang
25 de Febrero del 2005
Hola.
Estoy empezando a programar con PHP y MySql y ya tengo los primeros problemas.
Resulta que puedo conectarme y acceder a una tabla, pero me da error cuando hago la búsqueda de datos.

El código que tengo es:
[email protected]_query("SELECT nombre, apellido FROM alumnos");
if ($busqueda) {
echo("Error3 al seleccionar los elementos de la base de datos. Intentar mas tarde");

He probado tambíen de poner el select dentro de una variable, y luego hacer el query sobre la variable:
$query="SELECT nombre, apellido FROM alumnos";
[email protected]_query($query);

Alguna idea?

Ota cuestion es, puedo tener a mas de un usuario con el que poder conectarme a la base de datos?
Es decir, nombre_usuario y password es unico, o puedo tener mas de uno? Y si es asi, como?
Gracias.


rorringostar
25 de Febrero del 2005
Pues es lógico que te mande un error. Cuando te conectas a una base de datos lo que recibes es un enlace (link en ingles) al SABD mysql que te permite realizar consultas a la base de datos en cuestión. Ese enlace lo recibes con una línea de código similar a esta:

$link=mysql_connect($host,$user,$password)

una vez recibido, debes seleccionar la base de datos mysql a la cual le realizarás consultas con la siguiente línea de código:

mysql_select_db("mi_base_de_datos_mysql", $link);

Luego basta realizar la consulta sql la cual sólo podrá ser echa si el enlace fue recibido correctamente en la variable $link y si se seleccionó la base de datos. La siguiente línea de código sería:

$query="SELECT nombre,apellido FROM alumnos";
$busqueda=mysql_query($query, $link);

Sólo basta decirte que no sé de dónde sacaste el @ puesto adelante de la función mysql_query ya que yo no lo uso, bueno, si a ti te resulta está bien (podrías estar usando una nueva versión de php que no conozco) pero intentalo hacerlo sin él

Espero haber ayudado.

rorringostar
25 de Febrero del 2005
Sorry pero el foro me envío las comillas mal escritas en las funciones,

USA LAS COMILLAS CLÁSICAS (Las dobles of course)

adriang
25 de Febrero del 2005
Bien, ya veo porque me da el error (el enlace era bien recibido, y la base de datos seleccionada, pero no se lo pasaba como parametro a la consulta).
Lo he probado y me sigue dando el mismo error.

Podria ser que esté algo mal configurado y por eso no haga la consulta?

En cuanto la @ es para capturar cuando hay un error, y en vez de mostrar el texto en inglés que no sabes que te esta diciendo, sobretodo si no lo llevas bien, puedes mostrar alguna explicación (como el ejemplo que he puesto en la consulta inicial, capturo el error, y doy mi mensaje de error).

adriang
25 de Febrero del 2005
Ya encontre el error....

Resulta que la condicion en el IF, no la habia negado; por consiguiente siempre entraba, porque siempre realizaba la consulta. Ha bastado poner:
if (!$busqueda) {

Por cierto, sin pasarle por parametro el enlace, tambien me ha mostrado la consulta, puede ser porque trabajo en local?