Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2015, 09:49
Avatar de cleaner86
cleaner86
 
Fecha de Ingreso: septiembre-2013
Ubicación: Santiago
Mensajes: 20
Antigüedad: 13 años
Puntos: 0
Información Buscador en web php y base Mysql

Chicos estoy haciendo un buscador para mi web con php y mysql (la idea es que arroje resultados de mi base de datos)

Pero al realizar una busqueda solo me arroja el mensaje "NO HAY RESULTADOS EN LA BBDD"


Alguien me puede ayudar??

Les dejo el codigo.



NOTA; En el string ""SELECT * FROM episode_writers WHERE status = 1 AND nombre LIKE ?"; ... tambien he probado poniendo "FROM nombre_de_tabla" y nada



Mi base de datos es asi:

Nombre : simpsons_information
Tablas : episode_writer (tengo 5 tablas pero solo pondre una como ejemplo)
dentro de "epsode_writer": id, episode_writer, id_writer, creation_datetime, status.


y la tabla la he creado asi:

CREATE TABLE episode_writer(

id INTEGER PRIMARY KEY AUTO_INCREMENT,

id_episode INTEGER NOT NULL REFERENCES episode(episode_number),
id_writer varchar(255) NOT NULL REFERENCES writer(name),
creation_datetime TIMESTAMP NOT NULL DEFAULT NOW(),

status INTEGER NOT NULL DEFAULT 1
);








Código PHP:

<?php  // Primero definimos la conexión a la base de datos 
define ('HOST_DB', 'localhost'); //Nombre del host, nomalmente localhost 
define ('USER_DB', 'root'); //Usuario de la bbdd 
define ('PASS_DB', 'pass'); //Contraseña de la bbdd 
define ('NAME_DB', 'simpsons_information'); //Nombre de la bbdd  


// Definimos la conexión 
function conectar(){ 
global 
$conexion; //Definición global para poder utilizar en todo el contexto 
$conexion = mysql_connect(HOST_DB, USER_DB, PASS_DB) 
or die (
'NO SE HA PODIDO CONECTAR AL MOTOR DE LA BASE DE DATOS'); 
@
mysql_select_db(NAME_DB) 
or die (
'NO SE ENCUENTRA LA BASE DE DATOS ' . NAME_DB); 
} 
function 
desconectar(){ 
global 
$conexion; 
mysql_close($conexion); 
}  
//Variable que contendrá el resultado de la búsqueda 
$texto = ''; 
//Variable que contendrá el número de resgistros encontrados 
$registros = '';  
if(
$_POST){  

$busqueda = trim($_POST['buscar']);  
$entero = 0;  
if (empty(
$busqueda)){ 
$texto = 'Búsqueda sin resultados';
}else{ 
// Si hay información para buscar, abrimos la conexión 
conectar(); 
mysql_set_charset('utf8'); // para indicar a la bbdd que vamos a mostrar la info en utf  
//Contulta para la base de datos, se utiliza un comparador LIKE para acceder a todo lo que contenga la cadena a buscar 
$sql = "SELECT * FROM * WHERE status = 1 AND nombre LIKE ?";  
$resultado = mysql_query($sql); 
//Ejecución de la consulta 
//Si hay resultados... 
if (@mysql_num_rows($resultado) > 0){  
// Se recoge el número de resultados 
$registros = '<p>HEMOS ENCONTRADO ' . mysql_num_rows($resultado) . ' registros </p>'; 
// Se almacenan las cadenas de resultado 
while($fila = mysql_fetch_assoc($resultado)){  
$texto .= $fila['provincia'] . '<br />'; 
}  

}else{ 
$texto = "NO HAY RESULTADOS EN LA BBDD";
} 
// Después de trabajar con la bbdd, cerramos la conexión (por seguridad, no hay que dejar conexiones abiertas)

mysql_close($conexion); 
} 
} 
?> 
<!DOCTYPE html> 
<html lang="es-ES"> 
<head>  
<meta charset='utf-8'> 
<head>  
<body> 
<h1>Buscador <a href="simpsons.php" title="Simpsons" target="_self">Simpsons</a></h1>  
<form id="buscador" name="buscador" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">  
<input id="buscar" name="buscar" type="search" placeholder="Buscar aquí..." autofocus > 
<input type="submit" name="buscador" class="boton peque aceptar" value="buscar"> 
</form> 
<?php  
// Se muestran los resultados de la consulta, número de registros y contenido. echo 
$registros; 
echo 
$texto;  
?> 
</body> 
</html>

Última edición por cleaner86; 17/05/2015 a las 09:57 Razón: mas info