Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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á.
Por baixo dos panos, acontece a mesma coisa.
Ah então beleza, muito obrigado ^^
Sim, a proteção vem quando você usa "prepare", se você vai bindar antes ou repassar direto no "execute" não importa.