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

Sql consulta variáveis ​​de ligação vs especificando-as


Embora você possa ter sua consulta perfeitamente segura sem vinculação (formatando todas as variáveis ​​manualmente), usar instruções preparadas para representar seus dados na consulta é, de fato, a única maneira adequada.

A importância de usar declarações preparadas é muitas vezes mal avaliada, então, gostaria de esclarecer os reais benefícios:
  • instrução preparada torna a formatação (ou manipulação) adequada inevitável .
  • instrução preparada faz a formatação (ou manipulação) apropriada no único lugar apropriado - logo antes da execução da consulta, não em outro lugar, portanto, nossa segurança não dependerá de fontes não confiáveis ​​como
    • algum recurso 'mágico' do PHP que estraga os dados em vez de torná-los seguros.
    • boa vontade de um (ou vários) programadores, que podem decidir formatar (ou não) nossa variável em algum lugar do fluxo do programa. Esse é o ponto de grande importância.
  • instrução preparada afeta o próprio valor que está entrando na consulta, mas não a variável de origem, que permanece intacta e pode ser usada no código adicional (a ser enviada por e-mail ou exibida na tela).
  • instrução preparada pode tornar o código do aplicativo drasticamente mais curto, fazendo toda a formatação nos bastidores (*somente se o driver permitir).