2
respostas

Qual é a recomendação pra concatenação de variáveis Php com Sql?

Focando na segurança, qual é a opção mais recomendada?

"SELECT * FROM produtos WHERE categoria='" . $cat . "' AND preco<'" . $limite . "'";

Ou

"SELECT * FROM produtos WHERE categoria=' { $cat } ' AND preco<' { $limite } '";
2 respostas

Na vdd, nenhum deste ai são seguros não. Para PHP, o correto é usar o PDO, um conceito chamado de Prepared Statements para eviar SQL Injection, além de permitir conexão com vários BDs diferentes, fora o MySql etc.

Importante, no dia a dia, só se utiliza o PDO.

Alguns links que podem te ajudar:

https://imasters.com.br/banco-de-dados/mysql/como-usar-pdo-com-banco-de-dados-mysql/?trace=1519021197&source=single

http://php.net/pdo

Encontrei uma aula(aula 8) do curso de Php e Mysql 2, que fala sobre essa questão de sql injection. Ele usa essa segunda opção { }, e faz o tratamento de dados com mysqli_real_escape_string()