Erro no insert PDO

1 resposta
php
F
Pessoal estou tendo problemas para inserir dados em um bd. O erro que está sendo gerado me diz que estou passando uma qtde de parâmetros diferente do que está na query do PDO. Porém estou passando todos os parâmetros corretamente ao meu ver. 
Porém algo que me deixou em dúvida e que eu acho que pode ser o erro é o seguinte: Eu faço uma query para inserir dados na tabela chamadas, e depois mando como parâmetro (dentro de um while), dados de outra consulta.

Código de inserção:
`<?php
// pagina inserir aula de chamadas.php
include(‘conecta.php’);

//$idaula = $_POST[‘idaula’];

extract($_POST);
// imprime os dados do post

// loop para cada idaula adicionado
foreach ($idaula as $value) {

// Pesquisa horario pelo idaula, colocando 1 horario por vez no bd
$stmt2 = $conn->prepare('SELECT *FROM aulas WHERE id= :idaula');
$stmt2->bindValue(':idaula', $value);
$stmt2->execute();

//echo "Id: $value";
$stmt = $conn->prepare('INSERT INTO chamadas (codusuario, horario, coddisciplina) VALUES(?, ?, ?)');
$stmt->bindParam(1, $coduser, PDO::PARAM_INT); // passa cod usuario pelo array, 1 por vez


while ($linha = $stmt2->fetch(PDO::FETCH_ASSOC)) {
        $disciplina = $linha['coddisciplina'];
        $horario = $linha['horario'];

        $stmt->bindParam(2, $horario, PDO::PARAM_INT); // add campo disciplina na query anterior
        $stmt->bindParam(3, $horario, PDO::PARAM_INT); // add horario na query anterior

}
$stmt->execute();

}`

1 Resposta

pmlm

Ja tinhas aberto esta dúvida há alguns dias.

O teu erro não tem nada a ver com o código que postaste. No teu código não tens nada que possa gerar o SQL “WHERE codprof = ‘1’ AND codturma = ‘1’ VALUES (‘1’)”. Tens aqui o ficheiro chamadas.php mas o erro está no cadastra_conteudoprog.php, na linha 11.

Provavelmente (e como eu já tinha referido no outro post) estás a tentar fazer um UPDATE mas não sabes a sintaxe.

Criado 11 de abril de 2016
Ultima resposta 11 de abr. de 2016
Respostas 1
Participantes 2