Code is not sending data to the database

Asked

Viewed 59 times

0

This first code for registration is not working, it is equal to another that is working that registers users, is giving error in $insert name and display the message Unable to enter record:, I tried but I can’t find the problem.

Code that is giving error

<?php

/* substitua as variáveis abaixo pelas que se adequam ao seu caso */
$dbhost = 'localhost'; // endereco do servidor de banco de dados
$dbuser = 'root'; // login do banco de dados
$dbpass = ''; // senha
$dbname = 'delivery'; // nome do banco de dados a ser usado

$conecta = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$seleciona = mysqli_select_db($conecta, $dbname);

$nome           = $_POST ["nome_restaurante"];  
$titulo         = $_POST ["titulo_restaurante"];
$email          = $_POST ["email_restaurante"];
$categoria      = $_POST ["categoria_restaurante"];
$descricaoc     = $_POST ["descricao_curta"];
$descricaol     = $_POST ["descricao_longa"];
$telefone       = $_POST ["telefone_restaurante"];
$site           = $_POST ["site_restaurante"];

$sqlinsert = "INSERT INTO restaurantes (ID, Nome, Titulo, Descricao_curta, Descricao_longa, Logo, Categoria, Telefone, Email, Site) VALUES (DEFAULT, '$nome', '$titulo', '$email', '$categoria', '$descricaoc', '$descricaol', DEFAULT, '$telefone', '$site')";
$inserenome = mysqli_query( $conecta, $sqlinsert );

// inicia a conexao ao servidor de banco de dados
if(! $conecta )
{
  die("<br />Nao foi possivel conectar: " . mysql_error());
}
echo "<br />Conexao realizada!";

// seleciona o banco de dados no qual a tabela vai ser criada
if (! $seleciona)
{
  die("<br />Nao foi possivel selecionar o banco de dados $dbname");
}
echo "<br />Selecionado o banco de dados $dbname";

// finalmente, cria a tabela 
if(! $inserenome )
{
  die("<br />Nao foi possivel inserir registro: " . mysql_error());
}
echo "<br />Um novo registro foi feito!";
// encerra a conexão
mysqli_close($conecta);

header('Location: index.php')

?>

Code that is working normally

/* substitua as variáveis abaixo pelas que se adequam ao seu caso */
$dbhost = 'localhost'; // endereco do servidor de banco de dados
$dbuser = 'root'; // login do banco de dados
$dbpass = ''; // senha
$dbname = 'delivery'; // nome do banco de dados a ser usado

$conecta = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$seleciona = mysqli_select_db($conecta, $dbname);

$nome       = $_POST ["nome"];  
$sobrenome  = $_POST ["sobrenome"];
$email      = $_POST ["email"];
$telefone   = $_POST ["telefone"];
$usuario    = $_POST ["usuario"];
$senha      = $_POST ["senha"];

$sqlinsert = "INSERT INTO usuarios (ID, Nome, Sobrenome, Email, Telefone, Usuario, Senha) VALUES (DEFAULT, '$nome', '$sobrenome', '$email', '$telefone', '$usuario', '$senha')";
$inserenome = mysqli_query( $conecta, $sqlinsert );

// inicia a conexao ao servidor de banco de dados
if(! $conecta )
{
  die("<br />Nao foi possivel conectar: " . mysql_error());
}
echo "<br />Conexao realizada!";

// seleciona o banco de dados no qual a tabela vai ser criada
if (! $seleciona)
{
  die("<br />Nao foi possivel selecionar o banco de dados $dbname");
}
echo "<br />Selecionado o banco de dados $dbname";

// finalmente, cria a tabela 
if(! $inserenome )
{
  die("<br />Nao foi possivel inserir registro: " . mysql_error());
}
echo "<br />Um novo registro foi feito!";
// encerra a conexão
mysqli_close($conecta);

header('Location: index.php')

?>

There’s something I don’t understand?

  • See if it returns an error: $inserenome = mysqli_query( $conecta, $sqlinsert ) or die(mysqli_error($conecta);

  • Have you checked if in html you changed the name of the inputs to be equal to $_POST? It gives an echo $sqlinsert; after the Insert and put.

  • Apparently even your error message is coming blank, probably because you are calling the function mysql_error, while using the API mysqli. Try to exchange it for mysqli_error that the error message should appear.

  • @rray , I appeared this now "Field 'phone' doesn’t have a default value" but gave an echo on $phone, and it shows me the right value

  • @Andersoncarloswoss, he gives me an error in the parameters when doing this "Warning: mysqli_error() expects Exactly 1 Parameter, 0 Given in C: wamp64 www delivery admin connected cadastra.php on line 41"

  • mysqli_error($conecta), need indicate connection to database.

  • 1

    In Insert the columns do not match values .... ta DEFAULT for phone ... other things.

Show 2 more comments
No answers

Browser other questions tagged

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