Qual a diferença entre execute e query no pdo?
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!
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
Curtidas 0
Melhor post
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:
espero ter ajudado.
um abraço
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
23/05/2017
Olá Duhsoares21, obrigado pela explicacação!
GOSTEI 0