jueves, 19 de septiembre de 2013

La sentencia DELETE con mysql y mysqli


Eliminación de fila/s a través de la sentencia SQL DELETE, para la demostración se hará uso de las clases mysql y mysqli de PHP.

Para los ejemplos puedes utilizar la siguiente tabla ...

CREATE TABLE IF NOT EXISTS `articulos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `titulo` text NOT NULL,
  `contenido` text NOT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `titulo` (`titulo`,`contenido`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

INSERT INTO `articulos` (`id`, `titulo`, `contenido`) VALUES
(1, 'Soy la fila 1', 'Soy la fila 1 y me van a eliminar'),
(2, 'Soy la fila 2', 'Soy la fila 2 y me van a eliminar');


Ejemplo DELETE con la clase mysql

#Conexión con mysql
$datos_de_conexion = mysql_connect("localhost", "root", "password");
$base_de_datos = "pruebas"; #introduce aquí tu base de datos
$conexion = mysql_select_db($base_de_datos, $datos_de_conexion) || die("No se pudo conectar a la base de datos");

#Eliminación de la fila 1 de la tabla articulos
$consulta = "DELETE FROM articulos WHERE id=1";
$resultado = mysql_query($consulta) || die("La fila no se pudo eliminar");
if ($resultado)
{
echo "Fila eliminada con éxito";
}
else
{
echo "Ha ocurrido un error";
}
mysql_close($datos_de_conexion);


Ejemplo DELETE con la clase mysqli

#Conexión con mysqli
$conexion = new mysqli("localhost", "root", "password", "pruebas");

/* Comprobar conexión */
if ($conexion->connect_errno) {
    printf("Conexión fallida: %s\n", $conexion->connect_error);
    exit();
}

#Eliminación de la fila 2 de la tabla articulos
$consulta = "DELETE FROM articulos WHERE id=2";
$resultado = $conexion -> query($consulta) || die("La fila no se pudo eliminar");
if ($resultado)
{
echo "Fila eliminada con éxito";
}
else
{
echo "Ha ocurrido un error";
}
mysqli_close($conexion);