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 } '";
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 } '";
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:
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()