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

PHP

23/05/2017

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

Curtidas 0

Melhor post

Eduardo Chaves

Eduardo Chaves

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
GOSTEI 3

Mais Respostas

Robson Cavalcante

Robson Cavalcante

23/05/2017

Olá Duhsoares21, obrigado pela explicacação!
GOSTEI 0
POSTAR