Fórum Verificar INSERT com PDO #582284
09/06/2017
0
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?
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
Curtir tópico
+ 1
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
Clique aqui para fazer login e interagir na Comunidade :)