Erro ao inserir valores na tabela do banco de dados
Estou desenvolvendo um sistema de postagem em PHP, no entanto, na hora que eu executo a conexão $result->execute(); acontece o seguinte erro:
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'titulo' cannot be null in C:\xampp\htdocs\cursophp\pages\cad-postagem.php:21 Stack trace: #0 C:\xampp\htdocs\cursophp\pages\cad-postagem.php(21): PDOStatement->execute() #1 C:\xampp\htdocs\cursophp\home.php(27): include('C:\\xampp\\htdocs...') #2 {main} thrown in C:\xampp\htdocs\cursophp\pages\cad-postagem.php on line 21
Segue meu código abaixo:
// CONEXAO COM O BANCO
<?php
try{
$conexao = new PDO('mysql:host=localhost;dbname=post', 'root', '');
$conexao ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e){
echo 'ERROR:' . $e->getMessage();
}
?>
<?php
if(isset($_POST['cadastrar'])){
$titulo = trim(strip_tags($_POST['titulo']));
$data = trim(strip_tags($_POST['data']));
$exibir = trim(strip_tags($_POST['exibir']));
$descricao = $_POST['descricao'];
}
$insert = "INSERT into tb_postagens (titulo, data, exibir, descricao) VALUES (:titulo, :data, :exibir, :descricao)"; // INSERE NO BANCO OS VALORES PASSADOS PELO FORMULÁRIO NO CADASTRO DA POSTAGEM
try{
$result = $conexao->prepare($insert); // A VARIÁVEL $conexao do settings.php, PREPARA A CONEXÃO DA VARIÁVEL INSERT
$result->bindParam(':titulo', $titulo, PDO::PARAM_STR);
$result->bindParam(':data', $data, PDO::PARAM_STR);
$result->bindParam(':exibir', $exibir, PDO::PARAM_STR);
$result->bindParam(':descricao', $descricao, PDO::PARAM_STR);
$result->execute();$contar = $result->rowCount(); // CONTA QUANTOS REGISTROS EXISTEM NO MYSQL
if($contar>0){
echo "Postagem cadastrada com sucesso";
}else{}
}catch(PDOExpection $e){
echo $e;
}
?>Discussão (2)
Carregando comentários...