GARANTIR DESCONTO

Fórum Verificar INSERT com PDO #582284

09/06/2017

0

PHP

Oi pessoal,

Tenho um sistema no qual estou usando o PDO para me comunicar com o MySQL. Estou na dúvida sobre como verificar a falha no INSERT, como vocês fazem?
Laura Müller

Laura Müller

Responder

Posts

09/06/2017

Evandro Silva

// Banco de dados
CREATE DATABASE help;
USE help;
CREATE TABLE tbhelp
(
        nome VARCHAR(60) NOT NULL,
        email VARCHAR(60) NOT NULL
);
// Classe de conexão com o banco de dados - Nome: conexao.php
<?php
	header("Content-type: text/html; charset=utf-8");

        function getConexao() {
                $pdo = null;
                try {
                        $pdo = new PDO("mysql:host=localhost;dbname=help", "root", "password");
                } catch(PDOException $ex) {
		        if($ex->getCode() == 2002) {
			        echo "Este host não é conhecido";
		        }
		        elseif ($ex->getCode() == 1049) {
			        echo "Este banco de dados não existe";
		        }
		        elseif ($ex->getCode() == 1045) {
			        echo "Acesso negado! Usuário e/ou senha inválido(s)";
		        }
		        else {
			        echo "Code: " . $ex->getCode() . " Message: " . $ex->getMessage();
		        }
	        }
	        return $pdo;
        }
?>
// Classe de insert
<?php
        include("conexao.php");
	$pdo = getConexao();
        if($pdo != null) {
		$nome = isset($_GET["nome"]) ? addslashes(trim($_GET["nome"])) : addslashes(trim(null)); // Isso vem do formulário
		$email = isset($_GET["email"]) ? addslashes(trim($_GET["email"])) : addslashes(trim(null)); // Isso vem do formulário
                $sql = "INSERT INTO help.tbhelp VALUES(:nome, :email)";
                $insert = $pdo->prepare($sql);
		$insert->bindValue(":nome", $nome);
		$insert->bindValue(":email", $email);
                if($insert->execute()) {
                        //Se insert retornar true é porque inseriu
			echo "CADASTRO REALIZADO COM SUCESSO";
		}
		else {
			//Se insert retornar false é porque não inseriu
			echo "ERRO! FAVOR TENTE NOVAMENTE MAIS TARDE";
		}
        }
?>
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar