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