¿Qué es la extensión mysqli de PHP?
La extensión mysqli, o como a veces se le conoce, la extensión de MySQL mejorada, se desarrolló para aprovechar las nuevas funcionalidades encontradas en los sistemas MySQL con versión 4.1.3 o posterior. La extensión mysqli viene incluida en las versiones PHP 5 y posteriores.
La extensión mysqli contiene numerosos beneficios, siendo estas las mejoras principales respecto a la extensión mysql:
- Interfaz orientada a objetos
- Soporte para Declaraciones Preparadas
- Soporte para Múltiples Declaraciones
- Soporte para Transacciones
- Mejoradas las opciones de depuración
- Soporte para servidor empotrado
Para saber más clic (link: http://www.php.net/manual/es/mysqli.overview.php text: aquí popup: yes)
Ahora, vamos a la practica:
Primer paso
```
// Variables para la conexion
define('host', 'localhost');
define('user', '');
define('pass', '');
define('db' , '');
//Abriendo una nueva conexion al MySQL server
$mysqli = new mysqli(host, user, pass, db);
//Salida por si hay algun error en la conexion
if ($mysqli->connect_error) {
die('Error: ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
```
Segundo paso: SELECT
====================
```
// Indicamos que es lo que queremos buscar por ejemplo, el id 1 de la tabla user
$search_id = "1";
$query = "SELECT * FROM user WHERE id=?";
$statement = $mysqli->prepare($query);
//bind parameters for markers, where (s = string, i = integer, d = double, b = blob)
$statement->bind_param('s', $search_id);
//execute query
$statement->execute();
//bind result variables
$statement->bind_result($id, $username, $password);
//fetch records
while($statement->fetch()) {
echo '$id';
echo '$username';
echo '$password';
}
```
Tercer paso: DELETE
===================
```
// Indicamos que es lo que queremos buscar por ejemplo, el id 1 de la tabla user
$search_id = "1";
$query = "DELETE FROM user WHERE id=?";
$statement = $mysqli->prepare($query);
//bind parameters for markers, where (s = string, i = integer, d = double, b = blob)
$statement->bind_param('s', $search_id);
//execute query
$statement->execute();
//bind parameters for markers, where (s = string, i = integer, d = double, b = blob)
$statement->bind_param('s', $search_id);
//execute query
if ($statement->execute()){
echo 'Eliminado';
}else{
die('Error:('.$mysqli->errno.')'.$mysqli->error);
}
```
NOTA: Algo que me percate fue que al realizar el DELETE si le colocaba el asterisco me daba un error, quite dicho asterisco y funciono... Extraño no? :|
Cuarto paso: insert
===================
Este paso lo dejare pendiente porque aun, no logro entender ciertas cosas ;)
Quinto paso: Cerrar las conexiones abiertas
===========================================
```
//Esto debemos incluirlo en TODOS y cada uno de las consultas que hagamos
$statement->close();
//Cerrando la conexion al MySQL server, debe ser incluido al final para no dejar conexiones abiertas
mysqli_close($conexion);
```
Bueno, espero que les sea de utilidad :D
FUENTE: (link: http://www.sanwebe.com/2013/03/basic-php-mysqli-usage text: PHP MySqli Basic usage popup: yes)