Uncaught exception 'PDOException' with message 'SQLSTATE[2
Pessoal,
Estou me arriscando com PHP PDO, estou fazendo uns testes com um formulário simples.
Neste formulário eu tenho uma função que armazena os checkbox dos dias selecionados.
var dias = new Array();
$a("input:checked").each(function (index) {
dias.push($a(this).parent().parent().find('.daynumTOC').text());
});
Funcionando!
tenho uma action para gravar os dados.
<?php
require 'conexao.php';
// Atribui uma conexão PDO
$conexao = conexao::getInstance();
// Recebe os dados enviados pela submissão
$dias = implode ($_REQUEST['dias'], ',');
$profissional = (isset($_REQUEST['profissional'])) ? $_REQUEST['profissional'] : '';
$paciente = (isset($_REQUEST['paciente'])) ? $_REQUEST['paciente'] : '';
$mes = (isset($_REQUEST['mes'])) ? $_REQUEST['mes'] : '';
$somaDias = (isset($_REQUEST['somaDias'])) ? $_REQUEST['somaDias'] : '';
// $dias = (isset($_REQUEST['dias'])) ? $_REQUEST['dias'] : '';
$observa = (isset($_REQUEST['observa'])) ? $_REQUEST['observa'] : '';
$sql = 'INSERT INTO atendimentos (profissional, paciente, mes, dias, somaDias, observa)
VALUES(:profissional, :paciente, :mes, :dias, :somaDias, :observa)';
$stm = $conexao->prepare($sql);
$stm->bindValue(':profissional', $profissional);
$stm->bindValue(':paciente', $paciente);
$stm->bindValue(':mes', $mes);
$stm->bindValue(':somaDias', $somaDias);
$stm->bindValue(':dias', $dias);
$stm->bindValue(':observa', $observa);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Registro inserido com sucesso, aguarde você está sendo redirecionado ...</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao inserir registro!</div> ";
echo "<meta http-equiv=refresh content='3;URL=cadastrar_atendimento.php'>";
endif;
?>
Os dados são gravados no banco, porém apresenta a seguinte mensagem na página:
( ! ) Notice: Undefined index: dias in C:\wamp\www\atend_salus\action_atendimento.php on line 8
Call Stack
# Time Memory Function Location
1 0.0036 255088 {main}( ) ..\action_atendimento.php:0
( ! ) Warning: implode(): Invalid arguments passed in C:\wamp\www\atend_salus\action_atendimento.php on line 8
Call Stack
# Time Memory Function Location
1 0.0036 255088 {main}( ) ..\action_atendimento.php:0
2 0.0214 288072 implode ( ) ..\action_atendimento.php:8
( ! ) Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'dias' cannot be null' in C:\wamp\www\atend_salus\action_atendimento.php on line 26
( ! ) PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'dias' cannot be null in C:\wamp\www\atend_salus\action_atendimento.php on line 26
Call Stack
# Time Memory Function Location
1 0.0036 255088 {main}( ) ..\action_atendimento.php:0
2 0.0312 291976 execute ( ) ..\action_atendimento.php:26
Vi que está relacionada a variável 'dias', porém não estou conseguindo entender qual é o problema.
Alguém ai pode me dar uma luz?
Discussão (3)
Carregando comentários...