PHP - Problema en consulta SQL con PHP

 
Vista:

Problema en consulta SQL con PHP

Publicado por JuanMa (1 intervención) el 17/12/2015 15:58:41
Buenas tardes. Tengo la siguiente función en una clase de PHP, la cual, al pasarle un e-mail por parámetro, me debería de devolver un array con los datos del usuario al que pertenece dicho e-mail.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public function devolver_usuario_concreto($mail)
{
	//Creo una variable para almacenar la consulta.
	$select = "select * from buscadores where mail = '" . $mail . "'";
	//Ejecuto la consulta en la base de datos y guardo el resultado en otra variable.
	$result = @mysql_query($select, $this -> conexion) or die("No se ha podido ejecutar la consulta correctamente.<br />" . mysql_error());
	//Creo una array en el que almacenare los datos.
	$datos = array();
	//Creo una variable que me indique la fila de la tabla.
	$filas = 0;
	//Mientras que los registros (filas) de las tablas no lleguen al final...
	while($campos = mysql_fetch_row($result))
	{
		//Por cada campo (columna) de la tabla...
		for ($columnas = 0; $columnas < count($campos); $columnas++)
		{
			//Introduzco en el array el dato de un determinado campo en un determinado registro.
			$datos[$filas][$columnas] = $campos[$columnas];
		}
		//Actualizo el numero de la fila.
		$filas++;
	}
	//Libero datos de la memoria.
	mysql_free_result($result);
	//Devuelvo el array.
	return $datos;
}

Sin embargo, me devuelve el array vacío. Si sustituyo "select * from buscadores where mail = '" . $mail . "'" por "select * from buscadores where mail = '[email protected]'" sí me devuelve el array relleno con los datos de ese usuario.

Es la primera vez que me pasa y no sé por qué, pues la sintaxis está escrita correctamente.

¿Alguien me puede ayudar? Gracias de antemano.

P.D.: He comprobado, mediante un alert de JavaScript, que la variable $mail tuviese información, por lo que por eso no es el fallo. Lo curioso es que si compruebas la variable $select a través de un alert, no muestra nada, es decir, ni aparece el alert siquiera.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder