Data not saved in php database

Asked

Viewed 49 times

-2

I have the following code of a form so that the client can give his opinion, in navigating it shows success message, but does not record in the database. someone can help?

<?php 

$Nome   = $_POST ["nome"];  
$Cidade = $_POST ["cidade"];    
$Estado = $_POST["estado"]; 
$Email  = $_POST ["email"]; 
$Assunto = $_POST ["assunto"];  
$Mensagem = $_POST ["mensagem"];    


//conectando com o localhost - mysql
$conexao = mysql_connect("localhost","root","");
if (!$conexao)
    die ("Erro de conexçao com localhost, o seguinte erro ocorreu -> ".mysql_error());
//conectando com a tabela do banco de dados
$banco = mysql_select_db("mirror",$conexao);
if (!$banco)
    die ("Erro de conexçao com banco de dados, o seguinte erro ocorreu -> ".mysql_error());



$query = "INSERT INTO `contato` ( `nome` , `cidade` , `estado` , `email` , `assunto` , `mensagem`,'' ) 
VALUES ('$Nome', '$Cidade', '$Estado', '$Email', '$Assunto', '$Mensagem', '')";

mysql_query($query,$conexao);

echo "Sua mensagem, foi recebida com sucesso!<br>Agradecemos a atençao.";
?> 
  • It gets hard without knowing the BD modeling, etc.

2 answers

1

Try to use this code:

<?php 

$Nome   = $_POST["nome"];  
$Cidade = $_POST["cidade"];    
$Estado = $_POST["estado"]; 
$Email  = $_POST["email"]; 
$Assunto = $_POST["assunto"];  
$Mensagem = $_POST["mensagem"];    


//conectando com o localhost - mysql
$conexao = mysql_connect("localhost","root","");
if (!$conexao)
    die ("Erro de conexçao com localhost, o seguinte erro ocorreu -> ".mysql_error());
//conectando com a tabela do banco de dados
$banco = mysql_select_db("mirror",$conexao);
if (!$banco) or die ("Erro de conexçao com banco de dados, o seguinte erro ocorreu -> ".mysql_error());

    $query = "INSERT INTO `contato` ( `nome` , `cidade` , `estado` , `email` , `assunto` , `mensagem`) 
    VALUES ('$Nome', '$Cidade', '$Estado', '$Email', '$Assunto', '$Mensagem')";


    $insert = mysql_query($query) or die (mysql_error());

0

There is a syntax problem in:

(`nome` , `cidade` , `estado` , `email` , `assunto` , `mensagem`,'' )
                                                                 ^^^^ 

The '' at the end of both, it makes no sense and probably in the first will give syntax error.

For this remove the last "column", so:

(`nome` , `cidade` , `estado` , `email` , `assunto` , `mensagem`)

Then also remove the respective column in the VALUE:

('$Nome', '$Cidade', '$Estado', '$Email', '$Assunto', '$Mensagem')

In the end you’ll have this:

INSERT INTO `contato` 
            (`nome` , `cidade` , `estado` , `email` , `assunto` , `mensagem`)
VALUES      ('$Nome', '$Cidade', '$Estado', '$Email', '$Assunto', '$Mensagem') 

Also consider:

  1. There are security problems.
  2. Using the obsolete API (mysql_*) which has already been abandoned in PHP 7.
  • THE PROBLEM WAS REALLY THIS MYSQL_* WITH PHP7 HAS BEEN SOLVED.

Browser other questions tagged

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