Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wellington13

Problema na hora de gravar os POSTs no banco de dados

Recommended Posts

Pessoal estou usando esse comando para tentar gravar as informações que vem de um formulário, eu já testei e vi que as informações vem corretamente porem acredito que estou tendo problemas no comando do SQL. Segue abaixo o que fiz:

 

Já bati bastante a cabeça e não consegui preciso de ajuda.

<?
$host= "mysql02.site.com.br";
$bd= "nome do banco";
$senhabd= "senha do banco";
 
$userbd = $bd; 
 
$grava_tipo_fisica_juridica = $_POST ["fisica_juridica"];
$grava_nome_ou_razao =        $_POST ["nome_ou_razao"];
$grava_nome_fantasia =        $_POST ["nome_fantasia"];
$grava_cpf_ou_cnpj =          $_POST ["cpf_ou_cnpj"];
$grava_ins_estad =            $_POST ["ins_estad"];
$grava_ins_mun =              $_POST ["ins_mun"];
$grava_local=                 $_POST ["local"];
$grava_rua_num =              $_POST ["rua_num"];
$grava_complem =              $_POST ["complem"];
$grava_bairro =               $_POST ["bairro"];
$grava_cidade =               $_POST ["cidade"];
$grava_estado =               $_POST ["estado"];
$grava_pais =                 $_POST ["pais"];
$grava_contatoemp =           $_POST ["contatoemp"];
$grava_cep =                  $_POST ["cep"];
$grava_email =                $_POST ["email"];
$grava_site =                 $_POST ["site"];
$grava_tel_com =              $_POST ["tel_com"];
$grava_tel_cel =              $_POST ["tel_cel"];
$grava_tel_fixo =             $_POST ["tel_fixo"];
$grava_ramo=                  $_POST ["ramos"];
$grava_entrev =               $_POST ["entrev"];
$grava_cargo_entrev =         $_POST ["cargo_entrev"];
$grava_data =                 $_POST ["data"];
 
//$grava_ramos_comercial =      $_POST ["comercial"];
//$grava_ramos_industrial =     $_POST ["industrial"];
//$grava_ramos_prest_serviç =   $_POST ["prest_serviç"];
//$grava_ramos_outro_ramos =    $_POST ["outro_ramos"];
 
//Gravando no banco de dados !
 
//conectando com o localhost - mysql
$conexao = mysql_connect($host,$bd, $senhabd);
if (!$conexao)
die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error());
//conectando com a tabela do banco de dados
$banco = mysql_select_db($bd,$conexao);
if (!$banco)
die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());
 
//$link=mysql_pconnect($host,$dbuser,$dbpass);
 
$query ="INSERT INTO `clientes_entrevistados`(`tipo`, `nome_razao`, `cnpj`, `cpf`, `inscricao_estadual`, `inscricao_municipal`, `endereco`, `rua_num`, `compl`, `bairros`, `cidades`, `estados`, `pais`, `pessoa_contato`, `cep`, `email`, `site`, `tel_comer`, `tel_celular`, `tel_fixo`,`ramo_negocio`,  `nome_entrevistado`,`cargo_entrevistado`,`data`,`id`)  
         VALUES                       ('$grava_tipo_fisica_juridica','$grava_nome_ou_razao',$grava_cpf_ou_cnpj','','$grava_ins_estad','$grava_ins_mun','$grava_local','$grava_rua_num','$grava_complem','$grava_bairro','$grava_cidade','$grava_estado','$grava_pais','$grava_contatoemp','$grava_cep','$grava_emai','$grava_site','$grava_tel_com','$grava_tel_cel','$grava_tel_fixo','$grava_ramo','$grava_entrev','$grava_cargo_entrev','$grava_data','')";
 
//Executo o comando SQL, ou seja, agora faço a inserção dos dados na minha tabela
mysql_query($query,$conexao);
 
//******************************************************************
 
echo "Seu cadastro foi realizado com sucesso!<br>Agradecemos a atenção."
 
//direciona a pagina de cadastro usuarios
//header('Location:frm_cadastro_clientes_.php');
 
 
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites
mysql_query($query,$conexao)or die(mysql_error());
informe qual erro aparece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem uma variável chamada $grava_email, porém no insert você colocou $grava_emai, faltando o 'l'

 

Faça uma verificação no nome de todas as variáveis para ver se não tem mais nenhuma incorreta.

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc colocou a linha que eu pedi ? após colocar ela irá aparecer um erro.

Coloque e informe qual foi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meus amigos, fiz o ajuste como o amigo observou

dsmachado

porem continua sem gravar ate mesmo retirei alguns campos da tabela para gravar sem usar campos vazios.

 

Deixei o comando assim agora:

 

$query ="INSERT INTO `cintrabasilio1`.`clientes_entrevistados`(`tipo`, `nome_razao`, `cnpj_cpf`, `inscricao_estadual`, `inscricao_municipal`, `endereco`, `rua_num`, `compl`, `bairros`, `cidades`, `estados`, `pais`, `pessoa_contato`, `cep`, `email`, `site`, `tel_comer`, `tel_celular`, `tel_fixo`,`ramo_negocio`, `nome_entrevistado`,`cargo_entrevistado`,`data`,`id`)

VALUES ('$grava_tipo_fisica_juridica','$grava_nome_ou_razao',$grava_cpf_ou_cnpj','$grava_ins_estad','$grava_ins_mun','$grava_local','$grava_rua_num','$grava_complem','$grava_bairro','$grava_cidade','$grava_estado','$grava_pais','$grava_contatoemp','$grava_cep','$grava_email','$grava_site','$grava_tel_com','$grava_tel_cel','$grava_tel_fixo','$grava_ramo','$grava_entrev','$grava_cargo_entrev','$grava_data','')"
mas não grava nada do mesmo jeito. Estou colocando meu aplicativo na locaweb e testando por lá mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, já que não aparece erro e não grava, tenta gravar um campo apenas e verifique.

Verifique também se existe algum valor que tenha aspas. Tente gravar sem caracteres especiais.

Tem que fazer testes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe

William Bruno

Não tinha colocado, segue o erro. Ficou bem mais claro agora.

 

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Maceió','Alagoas','Brasil','','57000-500','','www.cintrabasilio.com.br','',''' at line 2

 

 

Alterei o nome Maceió com acento para sem acento e continua o mesmo erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para ajudar na detecção do erro dê um echo da variavel $query, acima do mysql_query(), ficando assim:

echo $query;
mysql_query($query,$conexao)or die(mysql_error());
poste aqui o que aparecer na tela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois que coloquei os ajustes que os colegas me deram e coloquei essa linha de comando que o William Bruno me passou esta gravando perfeito.

 

 

echo $query;
mysql_query($query,$conexao)or die(mysql_error());

 

Muito obrigado mesmo, estive muito nervoso com esse problema que aparenta ser muito simples mais fui para 4hs da manhã e não achava solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

você já considerou usar PDO? Acho que fica beeem mais facil de pegar esses erros de sintaxe. veja:

$sql = "UPDATE movies SET filmName = :filmName,
            filmDescription = :filmDescription,
            filmImage = :filmImage,
            filmPrice = :filmPrice,
            filmReview = :filmReview
            WHERE filmID = :filmID";
$stmt = $pdo->prepare($sql);                                    
$stmt->bindParam(':filmName', $_POST['filmName'], PDO::PARAM_STR);        
$stmt->bindParam(':filmDescription', $_POST['$filmDescription'], PDO::PARAM_STR);    
$stmt->bindParam(':filmImage', $_POST['filmImage'], PDO::PARAM_STR);
// use PARAM_STR although a number    
$stmt->bindParam(':filmPrice', $_POST['filmPrice'], PDO::PARAM_STR);    
$stmt->bindParam(':filmReview', $_POST['filmReview'], PDO::PARAM_STR);    
$stmt->bindParam(':filmID', $_POST['filmID'], PDO::PARAM_INT);    
$stmt->execute();


Eu tenho uma classe que encapsula ainda mais o PDO, ela está aqui:

https://github.com/danielps/livro-angular/blob/master/sales-server/DB.php

Aí eu consigo fazer coisas do tipo:

$sql = "UPDATE customers SET ContactName=?,Phone=? WHERE CustomerID=?";
 $stmt = DB::prepare($sql);
 $stmt->execute(array(
  $data->ContactName,
  $data->Phone,
  $data->CustomerID
 )
);

Se precisar posso te ajudar mais nisso ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.