"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como modernizar seu código MySQL-PHP: substituindo funções `mysql_*` obsoletas por instruções preparadas e PDO?

Como modernizar seu código MySQL-PHP: substituindo funções `mysql_*` obsoletas por instruções preparadas e PDO?

Publicado em 2024-11-03
Navegar:476

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

Reescrevendo código MySQL-PHP antigo com funções mysql_* obsoletas

À medida que o PHP evolui, certas funções se tornam obsoletas, incluindo os comandos mysql_*. Para aumentar a segurança e a estabilidade, esses comandos devem ser substituídos por instruções preparadas e PDO.

Substituições de chave:

  • Substitua mysql_connect por PDO::__construct() .
  • Substitua mysql_select_db pela configuração do nome do banco de dados na string de conexão PDO, por exemplo, mysql:host=127.0.0.1;dbname=people.

Amostra 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');

Considerações adicionais:

  • Construtor e Destruidor: As funções __construct() e __destruct() não são necessárias com PDO, pois ele lida com conexão e fechamento internamente.
  • Seleção de banco de dados: A seleção de banco de dados agora está incorporada na string de conexão do PDO. Use o parâmetro dbname na string de conexão para especificar o banco de dados desejado.

Classe de exemplo:

A classe de exemplo a seguir demonstra como reescrever o 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
    }
}

Conclusão:

Ao substituir funções mysql_* obsoletas por instruções preparadas e PDO, os desenvolvedores podem melhorar a segurança e a estabilidade de seu código enquanto simplificam as interações com o banco de dados.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3