Why am I not able to do the INSERT in the database?

Asked

Viewed 149 times

0

<?php

class Connection
{
    private $nome;
    private $data_nascimento;
    private $genero;
    private $rg;
    private $cpf;
    private $email;
    private $telefone_fixo;
    private $telefone_celular;
    private $cidade;
    private $estado;
    private $rua;
    private $cep;
    private $entrada;
    private $saida;

    public function __construct()
    {
        $this->nome = strip_tags($_POST['nome']);
        $this->data_nascimento = $_POST['data_nascimento'];
        $this->genero = strip_tags($_POST['data_nascimento']);
        $this->rg = strip_tags($_POST['rg']);
        $this->cpf = strip_tags($_POST['cpf']);
        $this->email = strip_tags($_POST['email']);
        $this->telefone_fixo = strip_tags($_POST['telefone_fixo']);
        $this->telefone_celular = strip_tags($_POST['telefone_celular']);
        $this->cidade = strip_tags($_POST['cidade']);
        $this->estado = strip_tags($_POST['estado']);
        $this->rua = strip_tags($_POST['rua']);
        $this->cep = strip_tags($_POST['cep']);
        $this->entrada = strip_tags($_POST['entrada']);
        $this->saida = strip_tags($_POST['saida']);
    }

    public function conexao()
    {
        echo "Hello World!";
        try {
            // criando a conexao com o banco de dados
            $connect = new PDO(
                "mysql:localhost;dbname=nomedobancodedados", // host & database name
                "nomedousuario", // database username
                "senhadobancodedados" // database password
            );
        } catch (PDOException $e) {
            echo $e->getMessage();
        }

        $insert = $connect->prepare('INSERT INTO wp_check_in (nome, data_nascimento, genero, rg, cpf, email, telefone_fixo, telefone_celular, cidade, estado, rua, cep, entrada, saida) VALUES(:nome, :data_nascimento, :genero, :rg, :cpf, :email, :telefone_fixo, :telefone_celular, :cidade, :estado, :rua, :cep, :entrada, :saida)');
        $insert->execute(array(
            ':nome' => $this->nome,
            ':data_nascimento' => $this->data_nascimento,
            ':genero' => $this->genero,
            ':rg' => $this->rg,
            ':cpf' => $this->cpf,
            ':email' => $this->email,
            ':telefone_fixo' => $this->telefone_fixo,
            ':telefone_celular' => $this->telefone_celular,
            ':cidade' => $this->cidade,
            ':estado' => $this->estado,
            ':rua' => $this->rua,
            ':cep' => $this->cep,
            ':entrada' => $this->entrada,
            ':saida' => $this->saida,
        ));
    }
}

$connect = new Connection();

// validando o envio dos dados da parte do check-in
if (isset($_POST['enviar'])){
    $connect->conexao();
}

?>

Would you like to understand what is happening? Why can’t I perform the INSERT of these fields in the Database?

Grateful, John Paul.

  • 1

    mysql:localhost;dbname=nomedobancodedados would not be mysql:dbname=nomedobancodedados;host=localhost?

  • 1

    Remember to put the error message, it seems that you the host= in the connection string.

  • 2

    @Looks like you forgot the "forgot" :)

1 answer

1


Check your connection to the database

$conn = new PDO('mysql:host=localhost;dbname=meuBancoDeDados', $username, $password);
  • 1

    Guy really paid off, it helped a lot I actually checked the connection and I realized I hadn’t put the :host= after mysql. It worked well, thanks... Strong hug and have a great day.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.