Insert com PDO (erros)
Pessoal,
Estou usando um exemplo de uma video aula para fazer meu site e me deparo com erros que não acontece na video aula.
O que tem de errado neste script (na video aula funciona perfeitamente)
O erro é: Fatal error: Call to a member function prepare() on a non-object in na linha: $query_verificaMail = $conecta->prepare($sql_verificaMail);
Se eu removo todo o codigo e deixo somente o INSERT, e preencho o form, ele não retorna erro algum, mas não insere nada na tabela.
A conexão com o banco é via include.
<?php
$criadoEm = date('Y-m-d H:i:s');
$modificadoEm = date('Y-m-d H:i:s');
$forn_status = 'pendente';
$forn_nome = $_POST['nome'];
$forn_email = $_POST['email'];
$forn_senha = $_POST['senha'];
$forn_senha = $_POST['senha'];
$sql_verificaMail = 'SELECT email FROM fornecedor WHERE email = :forn_email';
try{
$query_verificaMail = $conecta->prepare($sql_verificaMail);
$query_verificaMail->bindValue(':forn_email',$forn_email,PDO::PARAM_STR);
$query_verificaMail->execute();
$count_verificaMail = $query_verificaMail->rowCount(PDO::FETCH_ASSOC);
}catch(PDOException $erro_verificaMail){
echo 'Erro ao selecionar verificador';
}
if($count_verificaMail >= '1'){
echo '<h3>O e-mail informado já foi cadastrado em nosso sistema!</h3>
<h4>Não é possivel realizar seu cadastro com este e-mail!</h4>
<p>Cadastre-se com outro email.</p>
<p><a href=eventos_site/?page_id=47>Clique aqui</a></p>';
}else{
$forn_senha = $_POST['senha'];
$clienteSenha_mail = strip_tags(trim($_POST['senha']));
$sql_pre_cadastro = 'INSERT INTO fornecedor (criadoEm , modificadoEm , clienteStatus, forn_nome, forn_email, forn_ senha ) ';
$sql_pre_cadastro .= 'VALUES ( :criadoEm, :modificadoEm, :clienteStatus, :forn_nome, :forn_email :forn_ senha)';
try{
$query_pre_cadastro = $conecta->prepare($sql_pre_cadastro);
$query_pre_cadastro->bindValue(':criadoEm',$criadoEm,PDO::PARAM_STR);
$query_pre_cadastro->bindValue(':modificadoEm',$modificadoEm,PDO::PARAM_STR);
$query_pre_cadastro->bindValue(':clienteStatus',$clienteStatus,PDO::PARAM_STR);
$query_pre_cadastro ->bindValue(':forn_nome',$forn_nome,PDO::PARAM_STR);
$query_pre_cadastro ->bindValue(':forn_email',$forn_email,PDO::PARAM_STR);
$query_pre_cadastro ->bindValue(':forn_senha',$forn_senha,PDO::PARAM_STR);
$query_pre_cadastro ->execute();
$mail_data = date('d/m/Y H:i:s');
$meuEmail = 'teste@meusite.com.br';
$assunto = 'Novo cliente cadastrado '.$clienteNome;
$headers = "From: $meuEmail\n";
$headers .= "content-type: text/html; charset=\"utf-8\"\n\n";
$mensagemSistema = "
Novo cliente cadastrado:<br />
<strong>Cliente Nome:</strong> $clienteNome<br />
<strong>Cliente E-mail:</strong> $clienteEmail<br />
<br />
<br />
Mensagem enviada em: $mail_data
";
mail($meuEmail,$assunto,$mensagemSistema,$headers);
$clienteAssunto = 'Cadastro com sucesso SERVICOS';
$mensagemCliente = "
<strong>E-mail de segurança, guarde esse e-mail para consulta!</strong><br />
Seus dados são:<br /><br />
Login: $clienteEmail<br />
Senha: $clienteSenha_mail<br /><br />
Seu cadastro foi criado em $criadoEm!<br /><br />
Está é uma mensagem automática de nosso sistema, você não precisa responder!
<br />
<br />
Mensagem enviada em: $mail_data";
mail($clienteEmail,$clienteAssunto,$mensagemCliente,$headers);
echo '<h3>Cadastro com sucesso!</h3>';
echo '<p>Seu cadastro foi realizado com sucesso! para acessar seu painel <br />
efetue login na central do anúnciante!</p>';
echo '<p>Por segurança nós enviamos uma cópia de seu cadastro para o e-mail <strong>'.$clienteEmail.'</strong></p>';
}catch(PDOexception $error_cadastro){
echo $error_cadastro -> getMessage();
}
}
?>Discussão (9)
Carregando comentários...