> Faqs > Leer datos de la base de datos en PHP

Leer datos de la base de datos en PHP

Hola amigos quisiera que me explicaran como hago para leer los datos que tengo grabada en mi base de datos, para despues presentarlos en la pagina php. hasta ahora aprendi a grabar los datos, pero los quiero leer los datos para poder ver el contenido de la base de datos en la web.

Muchas gracias por su ayuda.

Respuestas

Hay varios maneras de hacer consultas a una base de datos. Para PHP con MySQL tenemos varios conectores, los más usados son mysql y mysqli. La diferencia entre ambos es que mysqli es una extensión mejorada y soporta muchas cosas que el conector mysql no. Un ejemplo de esto son los famosos enunciados o stored procedures que se utilizan en otras bases de datos como son Oracle y SQL-Server. También tenemos que algunas revisiones de seguridad ya son nativas en algunas instrucciones de mysqli. Yo prefiero usar la extensión mysqli pues los comandos son muy parecidos a los que se utilizan para programar para oracle. Además la extensión mysqli se puede utilizar con un enfoque OOP o procedural. Desde hace un par de años soy partidiario de mysqli OOP así que el ejemplo que te doy es usando este estilo sin embargo hago hincapié en que no es la única manera y otros usuarios podrán darte soluciones diferentes. Para ingresar datos suponiendo que tienes una tabla con dos campos: 1 ID tipo int, 2 Desc tipo varchar 255. Ejemplo: <span class="codigo">
/**
* Realizamos la conexion
*/
$con = new mysqli($host,$user,$pass,$base_de_datos);
/**
* Creamos un enunciado de inserción y lo ejecutamos
*/
$stmt = $con->stmt_init();
$stmt->prepare('INSERT INTO tabla VALUES (?,?)');
$stmt->bind_param('is',$id,$descripcion); // 'is' pues el primer dato es 'int' y el segundo es 'string'
if(!$stmt->execute()){
/**
* Si no se puede insertar mandamos una excepcion
*/
throw new Exception('No se pudo insertar:' . $stmt->error);
}
$stmt->close();

Para la lectura de los datos suponemos que ya se ha creado la conexión:

/**
* Creamos el enunciado y lo ejecutamos.
*/
$stmt = $con->stmt_init();
$stmt->prepare('SELECT * FROM tabla');
if(!$stmt->execute()){
throw new Exception('No se pudo realizar la consulta:' . $stmt->error);
}
else{
$stmt->store_result(); //Sin esta línea no podemos obtener el total de resultados anticipadamente
$cuantos_registros = $stmt->num_rows;
if($cuantos_registros>0){
$stmt->bind_result($ide_elemento,$descripcion_elemento);
while($stmt->fetch()){
echo "Elemento = id: " . $ide_elemento . " desc: " . $descripcion_elemento . "<br/>";
}
}
}
$stmt->close();
</span> Espero te sirva. Saludos

Ernesto Spiro