Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como reescrever com sucesso o código mysql-php antigo com funções mysql_* obsoletas?


Na verdade, um simples, doce e curto:Sim, não é mais necessário.

Vamos revisar o código, não que tenhamos perdido algo:

  • __construct - O construtor apenas continha toda a configuração. O PDO tem um conceito muito mais fácil aqui, uma string de conexão contendo a maioria das informações:
     mysql:host=127.0.0.1;dbname=people;charset=UTF-8
    

    Também o PDO fornece o construtor para uso pronto, então não é necessário dobrar.

  • connect - A função de conexão também não é mais necessária. Isso é feito já instanciando o PDO. Você pode procurar por exceções, o manual do PHP tem um exemplo na página do construtor .

  • selectDb - Esta função complicada também não é mais necessária. Uau, a terceira função podemos simplesmente descartar por causa da string de conexão PDO. Muito poder com tão menos personagens. Saúde!

  • __destruct - O destruidor. Sejamos justos:o MySQL também não precisava disso. No entanto, com o PDO, nós o obtemos de graça - sem escrever uma única linha de código.

Parece bom! Você conseguiu migrar dessa classe de banco de dados obscura para o PDO removendo o código desatualizado! Parabéns:
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');

Se você pensar agora, e se eu quiser ter uma classe de banco de dados por conta própria? Bem, você pode fazer isso, porque você pode estender do PDO (sim, isso funciona!):
class DB extends PDO
{
   ... my super-new-shiny-code
}

Por que você pode querer fazer isso? Não faço ideia, mas talvez seja mais fluente para o seu código. Se você está procurando um exemplo de código melhor, eu tenho um em PHP/MySQL Table with Hyperlinks .