Portada » Descargas y ejemplos PHP » PHP PDO Modificar registros MySQL

PHP PDO Modificar registros MySQL

0
(0)
  • Versión
  • Descargar 11
  • Tamaño del archivo 2.91 KB
  • Recuento de archivos 1
  • Fecha de creación 12 enero, 2024
  • Última actualización 12 enero, 2024

PHP PDO Modificar registros MySQL. La actualización de registros es una de las instrucciones más importantes para trabajar en programación PHP utilizando PDO. Porque son parte de una estructura llamada CRUD, que es muy fundamental para gestionar módulos y/o sistemas PHP.

PHP PDO Modificar registros MySQL
PHP PDO Modificar registros MySQL

PHP PDO Modificar registros MySQL

Para ejecutar este ejemplo de modificación con PHP PDO, debemos poseer una base de datos y una tabla. En este ejemplo, estamos trabajando con una tabla de noticias que es muy simple.

Vea a continuación un ejemplo de declaración SQL de nuestra tabla de publicaciones.

CREATE TABLE `noticias` (
`id` int(11) NOT NULL,
`titulo` varchar(150) CHARACTER SET utf8mb4 NOT NULL,
`contenido` text CHARACTER SET utf8mb4 NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Indices de la tabla `noticias`
--
ALTER TABLE `noticias`
ADD PRIMARY KEY (`id`);


ALTER TABLE `noticias`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

Primera forma: Modificación con marcadores de posición (Placeholders)

Marcador de posición posicional breve y más fácil de usar. Sin embargo, se basará en el orden de posición de las variables que se desean modificar.
Vea el código de ejemplo a continuación:

<?php
// Conexion PDO MYSQL
$host = 'localhost';
$db = 'update_pdo';
$user = 'root';
$password = '';

$dsn = "mysql:host=$host;dbname=$db;charset=UTF8";

try {
$db= new PDO($dsn, $user, $password, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

} catch (PDOException $e) {
echo $e->getMessage();
}

// Datos e información de Prueba
$data = ['Prueba titulo 1 - modificar', 'Contenido 2 - actualizado', 1];

// Consulta SQL de actualización
$sql = "UPDATE noticias SET titulo=?, contenido=? WHERE id=?";

// Ejecutamos la consulta SQL
$statement = $db->prepare($sql);

//Impresion de resultados
if($statement->execute($data)) {
echo "Noticia modificado correctamente!";
}

?>

Segunda forma: Modificación con marcadores de posición con nombre

Si desea una matriz predefinida con valores más clara y precisa este ejemplo estará muy bien. Por lo tanto, permitirá que pueda manejar de manera individual las variables que de desean modificar porque posee nombres visibles.

Vea el siguiente código:

<?php
// Conexion PDO MYSQL
$host = 'localhost';
$db = 'update_pdo';
$user = 'root';
$password = '';

$dsn = "mysql:host=$host;dbname=$db;charset=UTF8";

try {
$db = new PDO($dsn, $user, $password, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

} catch (PDOException $e) {
echo $e->getMessage();
}
// Datos e información de Prueba
$data = [
'titulo'=>'Prueba titulo 2.1 - Modificacion',
'contenido' => 'Contenido 2.1 - Modificacion',
'id' => 1
];

$sql = "UPDATE noticias SET titulo=:titulo, contenido=:contenido WHERE id=:id";

$statement = $db->prepare($sql);

if($statement->execute($data)) {
echo "Noticia modificado correctamente!";
}

?>

Tercera forma: Marcadores de posición con nombre utilizando el método bindParam()

El uso de bindParam() se utiliza para vincular un parámetro a la variable especificada en una declaración SQL. Es decir, se puede declarar si el valor pasado en un numero o cadena de texto.
Veamos un ejemplo de usabilidad

<?php
// Conexion PDO MYSQL
$host = 'localhost';
$db = 'update_pdo';
$user = 'root';
$password = '';

$dsn = "mysql:host=$host;dbname=$db;charset=UTF8";

try {
$db = new PDO($dsn, $user, $password, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

} catch (PDOException $e) {
echo $e->getMessage();
}
// Datos e información de Prueba
$data = [
'titulo'=>'Prueba titulo 2.2 - Modificacion',
'contenido' => 'Contenido 2.2 - Modificacion',
'id' => 1
];
// Consulta SQL de actualización
$sql = "UPDATE posts SET titulo=:titulo, contenido=:contenido WHERE id=:id";
// Ejecutamos la consulta SQL
$query = $db->prepare($sql);

// Declaramos opciones configurables
$query->bindParam(':id', $data['id'], PDO::PARAM_INT);
$query->bindParam(':titulo', $data['titulo']);
$query->bindParam(':contenido', $data['contenido']);
//Impresion de resultados
if($query->execute()) {
echo "Noticia modificado correctamente!";
}

Para finalizar

El uso de marcadores de posición nos ayuda a evitar ataques como ser la inyección SQL y otros ataques. Por lo tanto, es recomendable usar PDO para conectarse a MySQL.

Si desea más artículos puede acceder a PHP PDO.


Descargar

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad