Niunzin 0 Denunciar post Postado Abril 23, 2014 Eae galera, tudo beleza? Seguinte, eu comecei recentemente a usar PDO (pois me disseram que é mais seguro contra injection e mais rápido) sempre que eu vou executar uma query sql, e percebi que fazendo isso: $pdo->query("SELECT * FROM `forum_forums` WHERE `catid`=" . $catId); dava na mesma que não usar. Então vi que ao invés de ficar fazendo: $insert = $classDB->pdo->prepare("INSERT INTO `forum_categories` (`id`, `pos`, `title`, `desc`) VALUES (NULL, ?, ?, ?);"); $insert->bindValue(1, $post); $insert->bindValue(2, $catData['title']); $insert->bindValue(3, $catData['desc']); $insert->execute(); Eu poderia fazer: $insert = $classDB->pdo->prepare("INSERT INTO `forum_categories` (`id`, `pos`, `title`, `desc`) VALUES (NULL, ?, ?, ?);"); $insert->execute(array($post,$catData['title'], $catData['desc'])); Mas ai surgiu a dúvida se eu usar execute(array(parametros)) eu vou estar seguro assim como no bindValue? Eu procurei em tutoriais mas não achei nada referente a isso xd Obrigado desde já. Compartilhar este post Link para o post Compartilhar em outros sites
cahe7cb 27 Denunciar post Postado Abril 23, 2014 Sim, a proteção vem quando você usa "prepare", se você vai bindar antes ou repassar direto no "execute" não importa. Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Abril 24, 2014 Por baixo dos panos, acontece a mesma coisa. Compartilhar este post Link para o post Compartilhar em outros sites
Niunzin 0 Denunciar post Postado Abril 25, 2014 Ah então beleza, muito obrigado ^^ Compartilhar este post Link para o post Compartilhar em outros sites