crud pdo chatgpt BARD google traducido pdo
hacer el suiguiente codigo pero con metodo php pdo el codiigo es $sql = "SELECT id, nombre, descripcion, id_genero FROM pelicula WHERE id=$id LIMIT 1";
$resultado = $conn->query($sql);
$rows = $resultado->num_rows;
$pelicula = [];
if ($rows > 0) {
$pelicula = $resultado->fetch_array();
}
echo json_encode($pelicula, JSON_UNESCAPED_UNICODE);
El siguiente código PHP PDO es equivalente al código que proporcionaste:
PHP
<?php
// Crear una conexión PDO
$dsn = "mysql:host=localhost;dbname=pelicula";
$username = "root";
$password = "";
$conn = new PDO($dsn, $username, $password);
// Preparar la consulta
$sql = "SELECT id, nombre, descripcion, id_genero FROM pelicula WHERE id=:id LIMIT 1";
$stmt = $conn->prepare($sql);
// Vincular los parámetros
$stmt->bindParam(":id", $id);
// Ejecutar la consulta
$stmt->execute();
// Obtener el resultado
$pelicula = $stmt->fetch(PDO::FETCH_ASSOC);
// Convertir el resultado a JSON
$json = json_encode($pelicula, JSON_UNESCAPED_UNICODE);
// Imprimir el resultado
echo $json;
?>
Usa el código con precaución. Más información
Las principales diferencias entre este código y el código que proporcionaste son las siguientes:
Se utiliza la función PDO::prepare() para preparar la consulta. Esto permite vincular los parámetros de la consulta antes de ejecutarla.
Se utiliza la función PDO::bindParam() para vincular el parámetro id a la variable $id.
Se utiliza la función PDO::fetch() para obtener el resultado de la consulta.
Se utiliza la función json_encode() para convertir el resultado a JSON.
El siguiente es un ejemplo de cómo se puede utilizar este código:
PHP
$id = 1;
// Obtener la película
$pelicula = obtenerPelicula($id);
// Imprimir la película
echo $pelicula;
Usa el código con precaución. Más información
Este código imprimirá el siguiente JSON:
JSON
{
"id": 1,
"nombre": "El Padrino",
"descripcion": "La historia de la familia Corleone, una de las cinco familias mafiosas más poderosas de Nueva York.",
"id_genero": 1
}
Usa el código con precaución. Más información
Espero que esto ayude!
foto de perfil
hacer el suiguiente codigo pero con metodo php pdo el codiigo es $id = $conn->real_escape_string($_POST['id']);
$nombre = $conn->real_escape_string($_POST['nombre']);
$descripcion = $conn->real_escape_string($_POST['descripcion']);
$genero = $conn->real_escape_string($_POST['genero']);
$sql = "UPDATE pelicula SET nombre ='$nombre', descripcion = '$descripcion', id_genero=$genero WHERE id=$id";
if ($conn->query($sql)) {
$_SESSION['color'] = "success";
$_SESSION['msg'] = "Registro actualizado";
if ($_FILES['poster']['error'] == UPLOAD_ERR_OK) {
$permitidos = array("image/jpg", "image/jpeg");
if (in_array($_FILES['poster']['type'], $permitidos)) {
$dir = "posters";
$info_img = pathinfo($_FILES['poster']['name']);
$info_img['extension'];
$poster = $dir . '/' . $id . '.jpg';
if (!file_exists($dir)) {
mkdir($dir, 0777);
}
if (!move_uploaded_file($_FILES['poster']['tmp_name'], $poster)) {
$_SESSION['color'] = "danger";
$_SESSION['msg'] .= "<br>Error al guardar imagen";
}
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] .= "<br>Formato de imágen no permitido";
}
}
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] = "Error al actualizar registro";
}
Aquí está el código equivalente usando PHP PDO:
PHP
<?php
// Crear una conexión PDO
$dsn = "mysql:host=localhost;dbname=pelicula";
$username = "root";
$password = "";
$conn = new PDO($dsn, $username, $password);
// Obtener los datos del formulario
$id = $_POST['id'];
$nombre = $_POST['nombre'];
$descripcion = $_POST['descripcion'];
$genero = $_POST['genero'];
// Preparar la consulta
$sql = "UPDATE pelicula SET nombre = :nombre, descripcion = :descripcion, id_genero = :genero WHERE id = :id";
$stmt = $conn->prepare($sql);
// Vincular los parámetros
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nombre', $nombre);
$stmt->bindParam(':descripcion', $descripcion);
$stmt->bindParam(':genero', $genero);
// Ejecutar la consulta
if ($stmt->execute()) {
$_SESSION['color'] = "success";
$_SESSION['msg'] = "Registro actualizado";
// Manejar la subida de la imagen
if ($_FILES['poster']['error'] == UPLOAD_ERR_OK) {
$permitidos = array("image/jpg", "image/jpeg");
if (in_array($_FILES['poster']['type'], $permitidos)) {
$dir = "posters";
$poster = $dir . '/' . $id . '.jpg';
if (!file_exists($dir)) {
mkdir($dir, 0777);
}
if (move_uploaded_file($_FILES['poster']['tmp_name'], $poster)) {
// Imagen subida correctamente
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] .= "<br>Error al guardar imagen";
}
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] .= "<br>Formato de imágen no permitido";
}
}
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] = "Error al actualizar registro";
}
?>
Usa el código con precaución. Más información
Explicación de los cambios:
Conexión PDO: Se establece la conexión a la base de datos usando PDO.
Preparación de la consulta: Se utiliza prepare() para preparar la consulta y evitar inyección SQL.
Vinculación de parámetros: Se usan placeholders (:id, :nombre, :descripcion, :genero) y la función bindParam() para vincular los valores a la consulta.
Ejecución de la consulta: Se ejecuta la consulta usando execute().
Subida de imagen: Se mantiene la lógica de subida de imagen, pero usando PDO para la actualización de la base de datos.
Mensajes de éxito/error: Se establecen las variables de sesión para mostrar los mensajes correspondientes.
foto de perfil
hacer el suiguiente codigo pero con metodo php pdo el codiigo es $id = $conn->real_escape_string($_POST['id']);
$sql = "DELETE FROM pelicula WHERE id=$id";
if ($conn->query($sql)) {
$dir = "posters";
$poster = $dir . '/' . $id . '.jpg';
if (file_exists($poster)) {
unlink($poster);
}
$_SESSION['color'] = "success";
$_SESSION['msg'] = "Registro eliminado";
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] = "Error al eliminar registro";
}
Aquí está el código equivalente usando PHP PDO:
PHP
<?php
// Crear una conexión PDO
$dsn = "mysql:host=localhost;dbname=pelicula";
$username = "root";
$password = "";
$conn = new PDO($dsn, $username, $password);
// Obtener el ID de la película a eliminar
$id = $_POST['id'];
// Preparar la consulta
$sql = "DELETE FROM pelicula WHERE id = :id";
$stmt = $conn->prepare($sql);
// Vincular el parámetro
$stmt->bindParam(':id', $id);
// Ejecutar la consulta
if ($stmt->execute()) {
// Eliminar el póster de la película si existe
$dir = "posters";
$poster = $dir . '/' . $id . '.jpg';
if (file_exists($poster)) {
unlink($poster);
}
$_SESSION['color'] = "success";
$_SESSION['msg'] = "Registro eliminado";
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] = "Error al eliminar registro";
}
?>
Usa el código con precaución. Más información
Explicación de los cambios:
Conexión PDO: Se establece la conexión a la base de datos usando PDO.
Preparación de la consulta: Se utiliza prepare() para preparar la consulta de eliminación y evitar inyección SQL.
Vinculación del parámetro: Se usa placeholder (:id) y la función bindParam() para vincular el ID a la consulta.
Ejecución de la consulta: Se ejecuta la consulta usando execute().
Eliminación del póster: Se mantiene la lógica de eliminación del póster si existe.
Mensajes de éxito/error: Se establecen las variables de sesión para mostrar los mensajes correspondientes.
foto de perfil
hacer el suiguiente codigo pero con metodo php pdo el codiigo es nombre = $conn->real_escape_string($_POST['nombre']);
$descripcion = $conn->real_escape_string($_POST['descripcion']);
$genero = $conn->real_escape_string($_POST['genero']);
$sql = "INSERT INTO pelicula (nombre, descripcion, id_genero, fecha_alta)
VALUES ('$nombre', '$descripcion', $genero, NOW())";
if ($conn->query($sql)) {
$id = $conn->insert_id;
$_SESSION['color'] = "success";
$_SESSION['msg'] = "Registro guardado";
if ($_FILES['poster']['error'] == UPLOAD_ERR_OK) {
$permitidos = array("image/jpg", "image/jpeg");
if (in_array($_FILES['poster']['type'], $permitidos)) {
$dir = "posters";
$info_img = pathinfo($_FILES['poster']['name']);
$info_img['extension'];
$poster = $dir . '/' . $id . '.jpg';
if (!file_exists($dir)) {
mkdir($dir, 0777);
}
if (!move_uploaded_file($_FILES['poster']['tmp_name'], $poster)) {
$_SESSION['color'] = "danger";
$_SESSION['msg'] .= "<br>Error al guardar imagen";
}
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] .= "<br>Formato de imágen no permitido";
}
}
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] = "Error al guarda imágen";
}
Aquí está el código equivalente usando PHP PDO:
PHP
<?php
// Crear una conexión PDO
$dsn = "mysql:host=localhost;dbname=pelicula";
$username = "root";
$password = "";
$conn = new PDO($dsn, $username, $password);
// Obtener los datos del formulario
$nombre = $_POST['nombre'];
$descripcion = $_POST['descripcion'];
$genero = $_POST['genero'];
// Preparar la consulta de inserción
$sql = "INSERT INTO pelicula (nombre, descripcion, id_genero, fecha_alta)
VALUES (:nombre, :descripcion, :genero, NOW())";
$stmt = $conn->prepare($sql);
// Vincular los parámetros
$stmt->bindParam(':nombre', $nombre);
$stmt->bindParam(':descripcion', $descripcion);
$stmt->bindParam(':genero', $genero);
// Ejecutar la consulta
if ($stmt->execute()) {
$id = $conn->lastInsertId(); // Obtener el ID de la película insertada
$_SESSION['color'] = "success";
$_SESSION['msg'] = "Registro guardado";
// Manejar la subida de la imagen
if ($_FILES['poster']['error'] == UPLOAD_ERR_OK) {
$permitidos = array("image/jpg", "image/jpeg");
if (in_array($_FILES['poster']['type'], $permitidos)) {
$dir = "posters";
$poster = $dir . '/' . $id . '.jpg';
if (!file_exists($dir)) {
mkdir($dir, 0777);
}
if (move_uploaded_file($_FILES['poster']['tmp_name'], $poster)) {
// Imagen subida correctamente
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] .= "<br>Error al guardar imagen";
}
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] .= "<br>Formato de imágen no permitido";
}
}
} else {
$_SESSION['color'] = "danger";
$_SESSION['msg'] = "Error al guardar registro";
}
?>
Usa el código con precaución. Más información
Explicación de los cambios:
Conexión PDO: Se establece la conexión a la base de datos usando PDO.
Preparación de la consulta: Se utiliza prepare() para preparar la consulta de inserción y evitar inyección SQL.
Vinculación de parámetros: Se usan placeholders (:nombre, :descripcion, :genero) y la función bindParam() para vincular los valores a la consulta.
Ejecución de la consulta: Se ejecuta la consulta usando execute().
Obtención del ID insertado: Se usa lastInsertId() para obtener el ID de la película insertada.
Subida de imagen: Se mantiene la lógica de subida de imagen, pero usando PDO para la inserción de la película.
Mensajes de éxito/error: Se establecen las variables de sesión para mostrar los mensajes correspondientes.
foto de perfil
hacer el suiguiente codigo pero con metodo php pdo el codiigo es <?php while ($row = $peliculas->fetch_assoc()) { ?>
<tr>
<td><?= $row['id']; ?></td>
<td><?= $row['nombre']; ?></td>
<td><?= $row['descripcion']; ?></td>
<td><?= $row['genero']; ?></td>
<td><img src="<?= $dir . $row['id'] . '.jpg?n=' . time(); ?>" width="100"></td>
<td>
<a href="#" class="btn btn-sm btn-warning" data-bs-toggle="modal" data-bs-target="#editaModal" data-bs-id="<?= $row['id']; ?>"><i class="fa-solid fa-pen-to-square"></i> Editar</a>
<a href="#" class="btn btn-sm btn-danger" data-bs-toggle="modal" data-bs-target="#eliminaModal" data-bs-id="<?= $row['id']; ?>"><i class="fa-solid fa-trash"></i></i> Eliminar</a>
</td>
</tr>
<?php } ?>
1
2
Aquí está el código equivalente usando PHP PDO:
PHP
<?php
// Suponiendo que ya tienes la conexión PDO establecida en $conn
$sql = "SELECT id, nombre, descripcion, id_genero FROM pelicula";
$stmt = $conn->prepare($sql);
$stmt->execute();
?>
<table>
<thead>
<tr>
<th>ID</th>
<th>Nombre</th>
<th>Descripción</th>
<th>Género</th>
<th>Póster</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
<?php while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { ?>
<tr>
<td><?= $row['id']; ?></td>
<td><?= $row['nombre']; ?></td>
<td><?= $row['descripcion']; ?></td>
<td><?= $row['genero']; ?></td>
<td><img src="<?= $dir . $row['id'] . '.jpg?n=' . time(); ?>" width="100"></td>
<td>
<a href="#" class="btn btn-sm btn-warning" data-bs-toggle="modal" data-bs-target="#editaModal" data-bs-id="<?= $row['id']; ?>"><i class="fa-solid fa-pen-to-square"></i> Editar</a>
<a href="#" class="btn btn-sm btn-danger" data-bs-toggle="modal" data-bs-target="#eliminaModal" data-bs-id="<?= $row['id']; ?>"><i class="fa-solid fa-trash"></i> Eliminar</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
Usa el código con precaución. Más información
Explicación de los cambios:
Preparación de la consulta: Se utiliza prepare() para preparar la consulta de selección.
Ejecución de la consulta: Se ejecuta la consulta usando execute().
Fetch de los resultados: Se usa fetch(PDO::FETCH_ASSOC) para obtener las filas de resultados como un array asociativo.
Iteración de los resultados: Se recorren los resultados con un bucle while.
Impresión de los datos: Se imprimen los datos de cada película en las celdas de la tabla.
Enlaces de edición y eliminación: Se mantienen los enlaces para las acciones de edición y eliminación, utilizando los modales correspondientes.
Fuentes
github.com/Alessandro0919/FarmaciaSAG_Web-main
github.com/alycastro22/FarmaciaSAG_Web
foto de perfil
hacer el suiguiente codigo pero con metodo php pdo el codiigo es $conn = new mysqli("127.0.0.1", "root", "", "cinema");
if ($conn->connect_error) {
die("Error de conexión" . $conn->connect_error);
}
Ver otras versiones
Aquí está el código equivalente usando PHP PDO:
PHP
<?php
// Crear una conexión PDO
$dsn = "mysql:host=127.0.0.1;dbname=cinema";
$username = "root";
$password = "";
$conn = new PDO($dsn, $username, $password);
// Comprobar la conexión
if ($conn->connect_error) {
die("Error de conexión: " . $conn->connect_error);
}
?>
Usa el código con precaución. Más información
Explicación de los cambios:
Conexión PDO: Se utiliza new PDO() para crear una nueva conexión PDO.
Establecimiento de los parámetros de conexión: Se establecen los parámetros de conexión (dsn, username, y password).
Comprobación de la conexión: Se utiliza connect_error para comprobar si la conexión se ha realizado correctamente.
Mensaje de error: Si la conexión no se ha realizado correctamente, se muestra un mensaje de error.
En este caso, la conexión PDO se establece de la siguiente manera:
PHP
$dsn = "mysql:host=127.0.0.1;dbname=cinema";
$username = "root";
$password = "";
$conn = new PDO($dsn, $username, $password);
Usa el código con precaución. Más información
Los parámetros dsn, username, y password tienen el mismo significado que en el código original.
Comentarios
Publicar un comentario