Conectar PHP con MySQL en forma POO con Sentencias Preparadas

Vamos hacer una conexión con PHP y MySQL con las clases orientadas a objetos y con sentencias preparadas para los parámetros en los querys. Vamos hacer primero para registrar datos y el otro para mostrar los datos registrados.

Métodos de la clase que vamos a usar :

  • new mysqli([server], [usuario], [clave], [base_Datos] : para crear un objeto de tipo Myqli y luego acceder a sus propiedades y métodos para acceder a la base de datos.
  • obj->connect_errno : con esta propiedad verifica si hay error en la conexión y si la hay devuelve el número de error
  • obj->connect_error : muestra el mensaje de error de la conexión.
  • obj->prepare( [SQL]) : preparación de sentencia para el query SQL.
  • obj->errno : propiedad que devuelve el número de error del query si es que la hay.
  • obj->error : esta propiedad muestra el mensaje de error del query.
  • sentence->bind_param( [formato de datos], [variables,,]) : método para enlazar la cantidad de parámetros, en orden de su formato de sus variables.
  • sentence->execute() : método para ejecutar la sentencia SQL,
  • sentence->bind_result([variables,,]) : método para vincular las variables de los resultados de la consulta SQL.
  • sentence->close() : cerramos la sentencia.
  • obj->close() : cerramos la conexión.

El código fuente para registrar datos con sentencias preparadas:

<?php

/* Realizar conexion */
$mysqli = new mysqli("localhost", "root", "", "sistema_test");

/* verificar conexion */
if ($mysqli->connect_errno){
echo "Error de conexion a la base de datos: ". $mysqli->connect_error;
}

/* preparación sentencia SQL para parametros */
$sql = "INSERT INTO personas (nombre, apellido) VALUES(?, ?)";
$sentencia = $mysqli->prepare($sql);

if (!$sentencia){
echo "Fallo en la preparación: ({$mysqli->errno}) {$mysqli->error}.";
}

/* Vinculamos los parametros */
// i entero
// s cadena
// d double
// b blob

$nombre = "Roger";
$apellido = "Natividad";

if (!$sentencia->bind_param('ss', $nombre, $apellido)) {
echo "Fallo en la Vinculacion: ({$mysqli->errno}) {$mysqli->error}.";
}
<a id="set-post-thumbnail" class="thickbox" href="http://rogernatividad.com/wp-admin/media-upload.php?post_id=744&type=image&TB_iframe=1">Establecer imagen destacada</a>
/* ejecutamos la sentencia SQL */
if (!$sentencia->execute()){
echo "Fallo la ejecucion: ({$mysqli->errno}) {$mysqli->error}";
}else{
echo "Fila insertada: {$mysqli->affected_rows}.";
}

/* Cerrar la sentencia */
$sentencia->close();

/* Cerrar la conexion */
$mysqli->close();

?>

El código fuente para mostrar registros:

<?php

/* Realizar conexion */
$mysqli = new mysqli("localhost", "root", "", "sistema_test");

/* verificar conexion */
if ($mysqli->connect_errno){
echo "Error de conexion a la base de datos: ". $mysqli->connect_error;
}

/* preparación sentencia SQL para parametros */
$sql = "SELECT codigo, nombre, apellido FROM personas ";
$sentencia = $mysqli->prepare($sql);

/* Vincular no es necesario */

/* ejecutamos la sentencia SQL */
$sentencia->execute();

/* vinculamos las variables de resultados */
$sentencia->bind_result($codigo, $nombre, $apellido);

/* Imprimimos las filas */
while ($row = $sentencia->fetch()) {
echo "{$codigo} - {$nombre} - {$apellido} <br>" ;
}

/* Cerrar la sentencia */
$sentencia->close();

/* Cerrar la conexion */
$mysqli->close();

?>

Deja una respuesta