Los parámetros de configuración de la base de datos es una buena practica tenerlos en un archivo php por separado a fin de poder modificarlos de ser necesario, también te puedes crear una archivo .ini, en este caso para el ejemplo se llama parametros.php
<?php define ('cn_host','localhost'); define ('cn_username','root'); define ('cn_password',''); define ('cn_database','ejemplo'); ?>
Para conectarme a la base de datos utilizo la funcion conectarse() la cual pide los parametros definidos anteriormente y utiliza mysqli, esta funcion devuelve la conexion a la base de datos especificada en parametros.php o un error i no se alcanza la conexion
<?php require_once "parametros.php"; function conectarse(){ $mysql= new mysqli(cn_host, cn_username, cn_password); if($mysql->connect_error){ echo "Error conectandose al servidor de base de datos"; echo "/n"; echo $mysql->connect_error; exit(); } if(!($mysql->select_db(cn_database))){ echo "Error al conectarse a la base de datos"; } return $mysql; } ?>
por ultimo el buscador.php, solo hacer notar que debería existir un formulario que envíe por el método POST la información de ID_name, un ejemplo básico podría ser este
Ahora si, el código que realiza la búsqueda en la base de datos según el dui proporcionado
<?php require_once "conexion.php"; $mysqli = conectarse(); $query="select Nombre from empleado_php where ID=?"; $dato= trim($_POST['ID_name']); $dato = filter_var($dato, FILTER_SANITIZE_STRING); if($dato == null){ echo "debe especificar el valor del DUI a buscar"; exit(); } //puede utilizarse try-catch(Exception $e) if(!($stmt=$mysqli->stmt_init())){ echo "Error en stmt_init"; exit(); } if(!($stmt->prepare($query))){ echo "Error al preparar la consulta"; exit(); } if(!($stmt->bind_param("s",$dato))){ echo "Error anexando parametro"; exit(); } if(!($stmt->execute())){ echo "Error al ejecutar la consulta"; exit(); } if(!($stmt->bind_result($nombre))){ echo"Error al anexar resultado"; exit(); } // store_result debe aparecer antes de fetch() $stmt->store_result(); $stmt->fetch(); $count = $stmt->num_rows(); if($count!=null){ echo "Se encontraron " .$count. " resultados"; echo ""; echo "El dui " .htmlspecialchars($dato). " pertenece al empleado " .htmlspecialchars($nombre); } else { echo "no se encontraron resultados para el DUI " .$dato. "."; } $stmt->close(); $mysqli->close(); ?>y si recogiéramos mas de un resultado? en ese caso utilizamos un while y mostramos los resultados, como muestres esos resultados depende de ti, en mi caso utilizare una tabla, recuerda que debes anexar este código según lo que necesites al código mostrado anteriormente
<?php require_once "conexion.php"; error_reporting(E_ALL); CargarDatos(); function CargarDatos(){ $query= "select * from empleado_php"; try{ if(!$mysqli = conectarse()){ die("Error al crear la conexion: " .$mysqli->connect_error); } if(!$stmt= $mysqli->query($query)){ die('Ocurrio un error: [' . $mysqli->error . ']'); } if($stmt->num_rows > 0){ echo "Total de registros: " .$stmt->num_rows; echo ""; echo'
ID | Nombre |
'.$row->ID.' | '.$row->Nombre.' |