PDO insert does not work

1

Before you ask me the question, I have already consulted other topics here from the OS and found no solution. I'm trying to make a simple insert and as soon as I squeeze the whole script simply nothing happens, the screen remains blank. I already did a test changing (just to see if it fell into the catch) and I changed the table name, then it gave error message, and I went back to the right code.

Form

<form method="POST" action="gerarpdf.php" target="_blank" enctype="multipart/form-data">
    <div id="formulario">
        <input type="text" placeholder="Código da Entidade" maxlength="5" name="numeroDocumento" required/>
        <select name="tipoDocumento" required>
            <option value="" disabled selected>Tipo do Documento</option>
            <option value="01">Volvo</option>
            <option value="02">Saab</option>
        </select>
        <select name="anoReferencia" required>
            <option value="" disabled selected>Ano de Referência</option>
            <?php 
                $data = date("Y");
                for($i = 0; $i < 3; $i++) {
                    echo '<option value="'.substr($data,2,2).'">'.$data.'</option>';
                    $data++;
                }
            ?>
        </select>
        <select name="mesReferencia" required>
            <option value="" disabled selected>Mês de Referência</option>
            <option value="01">Janeiro</option>
            <option value="02">Feveiro</option>
            <option value="03">Março</option>
            <option value="04">Abril</option>
            <option value="05">Maio</option>
            <option value="06">Junho</option>
            <option value="07">Julho</option>
            <option value="08">Agosto</option>
            <option value="09">Setembro</option>
            <option value="10">Outubro</option>
            <option value="11">Novembro</option>
            <option value="12">Dezembro</option>
        </select>
        <select name="codProjeto" required>
            <option value="" disabled selected>Projeto</Projeto>
            <option value="01">Teste 1</option>
            <option value="02">Teste 2</option>
            <option value="03">Teste 3 </option>
        </select>
        <input type="file" name="file" class="arquivo">
    </div>
    <input type="submit" value="Gerar Código" required/>
</form>

generatepdf.php

/*Display de erros*/
  ini_set('display_errors', true); 
  error_reporting(E_ALL);

//Recebe o campo hidden, que informa a quantidade de campos inseridos no formulário
  $limiteForBarcode = 1;
  if(!empty($_POST['quantidadeCampos'])) {
    $limiteForBarcode = $_POST['quantidadeCampos'];
  }
  /*
   * Manipulação do banco de dados
   */
  $bancoDeDados = new Bd();
  try {
    $numeroDocumento = $_POST["numeroDocumento"];
    $tipoDocumento = $_POST["tipoDocumento"];
    $anoReferencia = $_POST["anoReferencia"];
    $mesReferencia = $_POST["mesReferencia"];
    $codProjeto = $_POST["codProjeto"];
    $nomeArquivo = $_FILES["file"];
    $code = $tipoDocumento.$numeroDocumento.$anoReferencia.$mesReferencia.'001';
    $bancoDeDados->createEntidade($numeroDocumento,$tipoDocumento,$anoReferencia,$mesReferencia,$nomeArquivo,$code,$codProjeto);
  }
  catch (PDOException $e) {
    var_dump($err->getMessage());
  }

bd.php

/*Display de erros*/
  ini_set('display_errors', true); 
  error_reporting(E_ALL);

    public function 
createEntidade($numeroDocumento,$tipoDocumento,$anoReferencia,$mesReferencia,$nomeArquivo,$code,$codProjeto) {
        $stmt = $this->con->prepare("INSERT INTO barcode_entidades(tipo_documento, codigo_entidade, codigo_projeto, ano_ref, mes_ref, caminho, nome_arquivo, barcode)VALUES(:tipo_documento,:codigo_entidade,:codigo_projeto,:ano_ref,:mes_ref,:caminho,:nome_arquivo,:barcode);");
        $stmt->bindParam(':tipo_documento', $tipoDocumento);
        $stmt->bindParam(':codigo_entidade', $numeroDocumento);
        $stmt->bindParam(':codigo_projeto', $codProjeto);
        $stmt->bindParam(':ano_ref', $anoReferencia);
        $stmt->bindParam(':mes_ref', $mesReferencia);
        $stmt->bindParam(':caminho', $nomeArquivo["tmp_name"]);
        $stmt->bindParam(':nome_arquivo', $nomeArquivo["name"]);
        $stmt->bindParam(':barcode', $code);
        $stmt->execute();
        if($stmt->rowCount() > 0) {
            echo "cadastro com sucesso";
        }
        else {
            echo "não foi cadastrado";
        }
    }
    
asked by anonymous 03.10.2014 / 21:38

1 answer

2

Even with try catch and ini_set('display_errors', true); error_reporting(E_ALL); it did not show the error. I noticed that I was trying to enter 14 characters in a column of 13. I modified that and it worked normally.

    
06.10.2014 / 21:05