Qual a diferença entre execute e query no pdo?

23/05/2017

0

PHP

Olá pessoal, tudo bem?

Estou usando o pdo nos meus projetos e fiquei com uma dúvida quanto a dois métodos do mesmo.

Ao utilizar tanto os métodos execute como o query, percebi que os dois fazem as transações solicitadas no banco de dados.

Queria entender qual a diferença entre eles (se existe) e quando devo usar um ou outro.

Obrigado!
Robson Cavalcante

Robson Cavalcante

Responder

Post mais votado

25/05/2017

Olá Robson, bom dia!
Existe diferença sim, o método "query" executa um comando SQL padrão, sendo necessário tratar cada um dos valores que serão inseridos para evitar ataques sql injection.

Já o "execute" vai receber uma prepared statement como parâmetro ao invés do SQL padrão, desse modo, não será necessário tratar os valores pois os dados estarão separados da query e serão associados ao statement através de um bind.

ex:

$statement = $database->prepare('SELECT nome FROM user WHERE id = :idusuario');
$statement->bindParam(':idusuario', $idusuario);
$statement->execute();


espero ter ajudado.

um abraço

Eduardo Chaves

Eduardo Chaves
Responder

Mais Posts

26/05/2017

Robson Cavalcante

Olá Duhsoares21, obrigado pela explicacação!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar