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

PHP:mysql v mysqli v pdo


O design do mysql_query função é tal que você precisa ter cuidado para escapar de cada bit de dados que está injetando nele, e se você perder mesmo um, seu aplicativo inteiro pode ser destruído por um ferramenta automática de exploração de vulnerabilidades SQL .

Ambos mysqli e marcadores de posição de suporte a PDO que são necessários para garantir que suas consultas estejam protegidas contra erros de injeção de SQL. Chamando mysql_real_escape_string em tudo não é apenas tedioso, mas propenso a erros, e é aí que surgem os problemas.

O mysql funções são um produto dos primórdios do PHP e são significativamente mais limitados do que os novos recursos orientados a objetos oferecidos tanto pelo mysqli como opção, ou DOP por design.

Há várias boas razões para usar uma dessas duas novas interfaces, mas a mais importante é que o mysql_query A função é simplesmente muito perigosa para ser usada em código de produção. Com ele você estará sempre a um erro de alguns problemas muito sérios.

Há uma razão pela qual rasgos de bancos de dados cheios de senhas e números de cartão de crédito continuam aparecendo. Ter um ponto de injeção de SQL óbvio torna quase muito fácil assumir completamente um site.