So folks, I'm not able to solve this problem of a query inside a foreach loop does not execute. First of all I thought it was something wrong with pdo-> beginTransaction so I commented this part and left pure code only.
<?php
if (isset($_POST["nome"])):
try{
// Começo da validação
//$pdo->beginTransaction();
// Validação do campo nome
if ($_POST["nome"] != null):
$procurarnome=$pdo->prepare("SELECT id FROM users WHERE username=$name");
$procurarnome->execute();
else:
die("Houve um erro no sistema, contate um administrador!");
endif;
// Validação dos campos dinâmicos
$cadastraresposta=$pdo->prepare("INSERT INTO form_respostas(perguntaid,username,reposta)VALUES(:perguntaid,$name,:resposta)");
foreach ($listarpergunta as $pergunta) {
if ($_POST["pergunta$pergunta->id"] != null):
$resposta=addslashes($_POST["pergunta$pergunta->id"]);
$cadastraresposta->bindParam(":perguntaid",$pergunta->id,PDO::PARAM_INT);
$cadastraresposta->bindParam(":resposta",$resposta);
$cadastraresposta->execute();
var_dump($cadastraresposta->execute());
else:
$pdo->rollBack();
die("Preencha todos os campos corretamente!<br />");
endif;
}
// Todos os arquivos foram preenchidos corretamente
//$pdo->commit();
echo "Obrigado!";
}
catch(PDOException $pe){
//$pdo->rollback();
die($pe->getMessage());
}
else:
?>
The INSERT querys inside the foreach do nothing in the database and this var_dump returns me a "boolean false" value. What should I do?