Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Hoje me bateu uma dúvida muito "boba" enquanto programava...
Para o MySQL ou em quesitos de segurança, qual a diferença de utilizar uma string assim:
Select * From tabela Where coluna='$string'
Para:
Select * From tabela Where coluna='".$string."'
Temos alguma diferença que interfira na segurança que possa facilitar um Injection ou queda/melhora de desempenho ou é apenas uma questão de estética?
Hoje utilizo o segundo método que apresentei em minhas querys.
Aguardo comentários sobre o tema.
Essa dúvida está mais relacionada ao PHP. Basicamente não há diferença entre as duas formas que você mostrou, levando em consideração que ambas consultas estão entre aspas duplas, assim:
E ambas formas estão sujeitas à SQL Injection, caso não haja o devido tratamento de $string.
Mas melhor, mais seguro e mais fácil do que fazer tratamento em $string para evitar SQL Injection, é utilizar PDO com prepared statement e query parametrizada:
http://rberaldo.com.br/pdo-mysql/