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

Entradas populares de este blog

INSERTAR Y UPDATE FECHA CON PHP MYSQL EN FORMULARIO METODO POST CON JQUERY ETIQUETA DATE

Copia de Seguridad de Archivo MS Access (.mdb) a Pendrive con VB6

CONVERTIR IMÁGEN JPG O PNG A WEBP CON PHP DE FORMA SIMPLE