"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cómo modernizar su código MySQL-PHP: ¿Reemplazar funciones obsoletas `mysql_*` con declaraciones preparadas y PDO?

Cómo modernizar su código MySQL-PHP: ¿Reemplazar funciones obsoletas `mysql_*` con declaraciones preparadas y PDO?

Publicado el 2024-11-03
Navegar:889

How to Modernize Your MySQL-PHP Code: Replacing Deprecated `mysql_*` Functions with Prepared Statements and PDO?

Reescritura del antiguo código MySQL-PHP con funciones obsoletas de mysql_*

A medida que PHP evoluciona, ciertas funciones quedan obsoletas, incluidos los comandos mysql_*. Para mejorar la seguridad y la estabilidad, estos comandos deben reemplazarse con declaraciones preparadas y PDO.

Reemplazos de claves:

  • Reemplace mysql_connect con PDO::__construct() .
  • Reemplace mysql_select_db configurando el nombre de la base de datos en la cadena de conexión PDO, por ejemplo, mysql:host=127.0.0.1;dbname=people.

Ejemplo de código:

 // Old deprecated code
$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');

 // New PDO code
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');

Consideraciones adicionales:

  • Constructor y Destructor: Las funciones __construct() y __destruct() no son necesarias con PDO, ya que maneja la conexión y el cierre internamente.
  • Selección de base de datos: La selección de base de datos ahora está integrada en la cadena de conexión PDO. Utilice el parámetro dbname en la cadena de conexión para especificar la base de datos deseada.

Clase de ejemplo:

La siguiente clase de ejemplo demuestra cómo reescribir el método selectDb usando DOP:

class DB
{
    private $pdo;

    public function __construct($host, $db, $user, $pass)
    {
        // Establish PDO connection
        $this->pdo = new PDO("mysql:host=$host;dbname=$db;charset=UTF-8", $user, $pass);
    }

    public function selectDatabase($dbName)
    {
        // No longer required with PDO
    }
}

Conclusión:

Al reemplazar las funciones obsoletas de mysql_* con declaraciones preparadas y PDO, los desarrolladores pueden mejorar la seguridad y estabilidad de su código mientras simplifican las interacciones con la base de datos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3