Ir para conteúdo
Fórum Script Brasil
  • 0

Php não registra dados no banco


Estevan Silveira

Pergunta

Não consigo inserir os dados que são digitados pelo usuário no formulário no banco de dado, pois apresenta este erro ao tentar rodar no navegador: "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near". Já tentei de vários jeitos, utilizando aspas simples, crase e até sem nada nos parametros, mas sempre aparece a mesma mensagem. 

<?php

    if(isset($_POST['submit'])){

      include_once('../php/php_config/config.php');

      $nome = $_POST['username'];
      $cpf = $_POST['cpf'];
      $email = $_POST['email'];
      $senha = $_POST['password'];

      $result = mysqli_query($conexao, "INSERT TO doador(nome, cpf, email, senha) 
      VALUES($nome, $cpf, $email, $senha)");

    }

?>

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="../style/tela_cadastro.css" />
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link rel="icon" type="image/png" href="../imgs/LOGO_SEM_NOME-removebg-preview-_1_.ico"/>
    <link
      href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;900&display=swap"
      rel="stylesheet"
    />
    <title>Dótis - Cadastro de Doador</title>
    <style>

      form #submit{
      border: 0;
      padding: 10px 50px;
      border-radius: 5px;
      cursor: pointer;
      letter-spacing: 1px;
      font-size: 1rem;
      font-weight: bold;
      position: relative;
      text-transform: uppercase;
      transition: all 0.5s;
      width: 300px;
      margin-left: 30px;
      margin-right: 30px;
      background-color: #eee;
    }

    form #submit:hover{
      box-shadow: 1px 1px 0, 2px 2px 0, 3px 3px 0, 4px 4px 0, 5px 5px 0, 6px 6px 0;
      background-color: white;
      color: rgb(146, 19, 146);
    }

    </style>
  </head>
  <body>
    <header>
      <h1>Dótis - Plataforma de auxílio em doações</h1>
    </header>
    <nav>
      <ul>
        <li><a href="./tela_inicial1.html">Menu Inicial</a></li>
    </nav>
    <section>
      <div class="container">
        <div class="header">
          <h2>Criar uma Conta</h2>
        </div>
  
        <form action="tela_cadastroDoador.php" method="POST" id="form" class="form">
          <div class="form-control">
            <label for="username">Nome de Usuário</label>
            <input
              name="username"
              type="text"
              id="username"
              placeholder="Digite seu nome de usuário..."
              required
            />
            <i class="fas fa-exclamation-circle"></i>
            <i class="fas fa-check-circle"></i>
            <small>Mensagem de erro</small>
          </div>
  
          <div class="form-control">
            <label for="cpf">Cpf</label>
            <input
              name="cpf" 
              type="text" 
              id="cpf" 
              placeholder="Digite seu cpf..."
              required
              />
            <i class="fas fa-exclamation-circle"></i>
            <i class="fas fa-check-circle"></i>
            <small>Mensagem de erro</small>
          </div>

          <div class="form-control">
            <label for="email">Email</label>
            <input
              name="email" 
              type="text" 
              id="email" 
              placeholder="Digite seu email..." 
              required
              />
            <i class="fas fa-exclamation-circle"></i>
            <i class="fas fa-check-circle"></i>
            <small>Mensagem de erro</small>
          </div>
  
          <div class="form-control">
            <label for="password">Senha</label>
            <input 
              name="password"
              type="password" 
              id="password" 
              placeholder="Digite sua senha..." 
              required
              />
            <i class="fas fa-exclamation-circle"></i>
            <i class="fas fa-check-circle"></i>
            <small>Mensagem de erro</small>
          </div>
  
          <div class="form-control">
            <label for="password-confirmation">Confirmação</label>
            <input
              name="password-confirmation"
              type="password"
              id="password-confirmation"
              placeholder="Digite sua senha..."
              required
            />
            <i class="fas fa-exclamation-circle"></i>
            <i class="fas fa-check-circle"></i>
            <small>Mensagem de erro</small>
          </div>
  
          <input type="submit" id="submit" name="submit">
        </form>
      </div>
    </section>
    
    <script src="" crossorigin="anonyumous"></script>
    <footer>
      <li><a href="../php/tela_sac.html"><u>Contate-nos!</u></a></li>
    </footer>
  </body>
</html>

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1

Do jeito que você publicou parece que o código PHP está na mesma pagina que o formulário HTML, mas aqui vou supor que são dois códigos diferentes, e o código PHP está no arquivo tela_cadastroDoador.php que é a primeira parte da lista.

A minha primeira dúvida é o mysqli, eu acredito que ele não dá suporte para MariaDB, mas só o MySQL.

Fiz o teste no MySQL e eu tive que corrigir a redação INSERT TO para INSERT INTO, e também colocar aspas em todas as variáveis alfa numéricas. Para saber se o PHP conseguiu incluir os dados, pedi para ele olhar a variável $result.

Caso o mysqli não dê suporte ao MariaDB, você vai ter que trabalhar com o motor PDO do PHP.

 

<?php
$conexao=new mysqli("localhost","root","","astudy");
$nome = "Frank";
$cpf = "999.999.999-99";
$email = "frankhosaka@gmail.com";
$senha = "1234";
$result = mysqli_query($conexao, "INSERT INTO doador (nome, cpf, email, senha)
      VALUES ('$nome', '$cpf', '$email', '$senha')");
var_dump($result);
?>
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...