Conectar PHP con MySQL mediante MySQLi

En los ultimos días he visto tutoriales que usan la vieja extencion de MySQL.
PHP recomienda dejar de usarla y en su lugar utilizar MySQLi o PDO.

¿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

Aquí un ejemplo sencillo de como  conectar PHP a mysql mediante la extención MySQLi.
 <?php 
$mysqli = new mysqli("localhost", "root", "t00r00r", "my_shop");
if ($mysqli === false){
	die("ERROR: No se estableció la conexión. ". mysqli_connect_error());
} 
$sql = "Select * from customers limit 10";
if ($result = $mysqli->query($sql) ){
	if ($result->num_rows > 0 ){
 
		while($row = $result->fetch_array() ){
			echo $row[0]. " : ". trim($row[1])."\n";
		}
 
		$result->close();
	} else {
		echo "NO se encontró ningún registro que coincida con su busqueda.";
	}
 
} else {
	echo "Error: No fue posible ejecutar la consulta $sql ". $mysqli->error;
}
$mysqli->close();
?> 


Para inicializar la conexión, inicializa un objeto de la clase MySQLi pasandole cuatro argumentos al constructor del objeto: el nombre del servidor, usuario y contraseña de la base de datos y el nombre de la base de datos.
Si el intento de conexión fracasó, el objeto sera falso; entonces es posible obtener un mensaje de error; esto se lleva a cabo invocando la función mysql_conect_error().

El siguiente paso consiste en crear y ejecutar la consulta SQL. Esto se realiza invocando el método query() para el objeto de MySQLi y transmitiéndole la consulta que se va ejecutar. Si la consulta no tuvo éxito, el método regresa un valor falso, y un mensaje de error que explica la causa.

Sí por otra parte la consulta se ejecuta con éxito y regresa uno o más registros, el valor de retorno del método query() se convierte en otro objeto, este ultimo de la clase MySQL_Result. Este objeto representa la colección de datos regresados por la consulta y expone varios métodos para procesar los registros individuales.

Uno de esos métodos es fetch_array(). Cada vez que se invoca, regresa el siguiente registro de la colección de resultados como una matriz. Para recorrer la colección de elementos se puede usar el bucle while o for. Los campos individuales del registro pueden accesarce como elementos de una matriz, utilizando ya sea el índice del campo o su nombre.

Referencias: Fundamentos de PHP:
Vikram Vaswani.
McGraw Hill.

Manual de PHP: MySQLi.
http://www.php.net/manual/es/mysqli.overview.php

Añadir nuevo comentario