sábado, 9 de junio de 2012

Ejemplo de uso de funciones mysqli


La extensión mysqli es una versión mejorada de la extensión mysql, desde la página oficial de PHP se recomienda su uso en lugar de las funciones mysql, ya que muchas de las funciones mysql están obsoletas.

En el siguiente ejemplo veremos el uso de algunas funciones de la clase mysqli, suponiendo que tienes una base de datos llamada "productos" y una tabla llamada "productos" con 3 campos "id", "producto" y "precio" y algunos registros en la tabla, con este script se podrá actualizar el precio del producto seleccionado ... 



El código del ejemplo es el siguiente ...

<?php
/* By http://php-estudios.blogspot.com */

/* Ejemplo de conexión y consultas con funciones mysqli */

/* En este ejemplo no se filtran los datos ya que es una demo.
   SIEMPRE HAY QUE FILTRAR LOS DATOS AL HACER CONSULTAS A UNA DB
*/

/*Datos de acceso*/
$mysql_nombre = "root";
$mysql_pass = "password";
$mysql_host = "localhost";
$mysql_DB = "productos";

//Establecer los datos para la conexión a la base de datos ...
$conexion = new mysqli($mysql_host, $mysql_nombre, $mysql_pass, $mysql_DB);

//Capturar error
if ($conexion->connect_error)
{
echo "Ha ocurrido un error: " . $conexion->connect_error . "Número del error: " . $conexion->connect_errno;
}

$mensaje = "";
$actualizadas = "";
if(isset($_POST["formulario"]))
{
$precio = $_POST["precio"];
$id = $_POST["id"];

//Realizar la consulta
$consulta =  "UPDATE productos SET precio='$precio' WHERE id=$id";

//Ejecutar la consulta
$resultado = $conexion->query($consulta);

//Filas afectadas
$filas_afectadas = $conexion->affected_rows + 0;
$actualizadas = "<p>ACTUALIZACIONES: ". $filas_afectadas ."</p>";

if ($filas_afectadas > 0)
{
$mensaje = "<p>PRODUCTO ".strtoupper($producto)." ACTUALIZADO</p>";
}
else
{
$mensaje = "<p>NO SE HA PODIDO ACTUALIZAR EL PRODUCTO</p>";
}
}
?>

<!DOCTYPE HTML>
<head>
<title>Ejemplo de uso de funciones mysqli</title>
</head>
<body>
<?php 
echo $mensaje;
echo $actualizadas; 
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p>Actualizar precio del producto:</p>
<select name='id'>
<option value=''>Seleccionar</option>
<?php
//Extraer los productos para el select
$consulta = "SELECT * FROM productos";
$extraer = $conexion->query($consulta);
while ($fila = $extraer->fetch_array())
{
echo "<option value='".$fila['id']."'>".$fila['producto']."</option>\n";
}
?>
</select>
Precio: <input type="text" name="precio">
<input type="hidden" name="formulario">
<input type="submit" value="ACTUALIZAR">
</form>

<?php
//Extraer los productos disponibles con su precio
$consulta = "SELECT * FROM productos";
$extraer = $conexion->query($consulta);
while ($fila = $extraer->fetch_array())
{
echo "<p>".$fila['producto']." : ".$fila["precio"]."€</p>\n";
}

//Cerrar la conexión
mysqli_close($conexion);
?>
</body>
</html>




No hay comentarios: