Ir para conteúdo

POWERED BY:

Arquivado

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

Pres. Vilend

[Resolvido] Não consigo gravar dados com PHP

Recommended Posts

Estou criando um sistema de cadastro no inicio simples, porém não consigo fazer o mesmo gravar os dados no Mysql

 

<?
//Conecta com o Mysql
include("mysqlcon.php");

// Informações de cadastros do formulário
$email = $_POST['email'];
$login = $_POST['login'];
$senha = $_POST ['senha'];
$nome = $_POST ['nome'];
$sobrenome = $_POST ['sobrenome'];
$mae = $_POST ['mae'];
$pai = $_POST ['pai'];
$sexo = $_POST ['pai'];
$nasc = $_POST ['datanasc'];
$pais = $_POST ['pais'];
$cidade = $_POST ['cidade'];
$estado = $_POST ['estado'];
$url = $_POST ['url'];

// Monta e grava a query de informações no Mysql

$query = "INSERT INTO info_cad VALUES (null '$email', '$login', $senha', '$nome', '$sobrenome', '$mae', '$pai', '$sexo', '$nasc', '$pais', '$cidade', '$estado', '$url');";

$grava_dados_db = mysql_query ($query);

// Verifica sucesso da criação do perfil
$num_linha_cad = mysql_affected_rows ($grava_dados_db);
if ($num_linha_cad == 1) {
	include ("cadconfirm.php");
	header ("/perfil/");
}
?>

 

Preciso de ajuda sou meio novato eu ja havia tido sucesso com o codigo mas não sei o que posso ter mudado que causou esse bug :upset:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro remova o ponto e virgula( ; ) no final da instrução SQL

 

:seta: mysql_query

 

	// Monta e grava a query de informações no Mysql

$query = "INSERT INTO info_cad VALUES (null '$email', '$login', $senha', '$nome', '$sobrenome', '$mae', '$pai', '$sexo', '$nasc', '$pais', '$cidade', '$estado', '$url')";

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

 

Agora ficou assim, (se eu acertei no que você quis dizer) porém ainda nada)

 

E esse aqui e o código de conexão

 

<?
$mysql_server = 'localhost';
$mysql_user = 'root';
$mysql_pass = 'vetrigo';
$mysql_db = 'vilend';
$mysql_db_con = mysql_connect ($mysql_server, $mysql_user, $mysql_pass);
mysql_select_db ($mysql_db_con);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu reparei também num erro no arquivo de conexão com o Mysql agora resolvi

 

<?
$mysql_server = 'localhost';
$mysql_user = 'root';
$mysql_pass = 'vetrigo';
$mysql_db = 'vilend';
$mysql_db_con = mysql_connect ($mysql_server, $mysql_user, $mysql_pass);
mysql_select_db ($mysql_db);
?>

 

Porém ainda sem sucesso

 

:seta: mysql_select_db

 

$conn = mysql_connect( 'localhost', 'user', 'pass' );
mysql_select_db( 'my_database', $conn );

 

Ainda sem sucesso...

 

O mais estranho e que ele não identifica nenhum erro com a conexão não entendo o que pode estar acontecendo

Compartilhar este post


Link para o post
Compartilhar em outros sites

O mais estranho e que ele não identifica nenhum erro com a conexão não entendo o que pode estar acontecendo

 

 

Configure seu código para exibir TODAS as mensagens de erro, adicionando este código à primeira linha do script.

<?php
ini_set( 'display_errors', true );
error_reporting( E_ALL );

 

Outra coisa, você colocou o nome da database que quer usar na função mysql_select_db? Se você leu o conteúdo do link que te passei ou viu o exemplo, vai perceber que a função necessita de dois parâmetros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?
$mysql_server = 'localhost';
$mysql_user = 'root';
$mysql_pass = 'vetrigo';
$mysql_db = 'vilend';
$mysql_db_con = mysql_connect ($mysql_server, $mysql_user, $mysql_pass)
                              or die (mysql_error());
mysql_select_db ($mysql_db, $mysql_db_con)
                              or die (mysql_error());
?>

 

coloque o $mysql_db_con, coloque o ordie para reportar algum erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda nada... fiz tudo como mandava o exemplo...

 

<?php
$conn = mysql_connect( 'localhost', 'root', 'vertrigo' );
mysql_select_db( 'vilend', $conn );
?>

 

e adicionei também o código que mostrava os erros no PHP porém nada.

 

E tem outra coisa o navegador esta mostrando o PHP no código fonte, isso é normal?

 

<?
$mysql_server = 'localhost';
$mysql_user = 'root';
$mysql_pass = 'vetrigo';
$mysql_db = 'vilend';
$mysql_db_con = mysql_connect ($mysql_server, $mysql_user, $mysql_pass)
                              or die (mysql_error());
mysql_select_db ($mysql_db, $mysql_db_con)
                              or die (mysql_error());
?>

 

coloque o $mysql_db_con, coloque o ordie para reportar algum erro

 

Nada também... sem erros na conexão do mysql, eu acho que e no código fonte...

Compartilhar este post


Link para o post
Compartilhar em outros sites

//troque o include por este codigo
if(file_exists("mysqlcon.php")) {
require "mysqlcon.php";		
} else {
echo "Arquivo mysqlcon.php nao foi encontrado";
exit;
}

 

//corrijindo a variavel $senha que falta (') e o ponto e virgula no final

$query = "INSERT INTO info_cad VALUES (null '$email', '$login', '$senha', '$nome', '$sobrenome', '$mae', '$pai', '$sexo', '$nasc','$pais', '$cidade', '$estado', '$url')";

//inclua esta linha        
mysql_query($query, $mysql_db_con) 
         or die(mysql_error()); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

//troque o include por este codigo
if(file_exists("mysqlcon.php")) {
require "mysqlcon.php";		
} else {
echo "Arquivo mysqlcon.php nao foi encontrado";
exit;
}

 

//corrijindo a variavel $senha que falta (') e o ponto e virgula no final

$query = "INSERT INTO info_cad VALUES (null '$email', '$login', '$senha', '$nome', '$sobrenome', '$mae', '$pai', '$sexo', '$nasc','$pais', '$cidade', '$estado', '$url')";

//inclua esta linha        
mysql_query($query, $mysql_db_con) 
         or die(mysql_error()); 

 

Célio A. ainda sem sucesso, não entendo já que ele não retorna em caso de sucesso nem em caso de falha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, testei aqui no meu servidro e ta ok, ta gravando os dados.

 

Só falta corrigir o mysql_affected_rows, como nunca usei esta função vou dar uma comferida e depois eu posto corrigido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evite usar short tags(<?), use <?php

 

Obrigado agora apareceu o erro "Column count doesn't match value count at row 1"

 

Pelo menos agora eu sei o que está acontecendo agradeço por toda a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora ta ok, substitua pelas suas comfiguraçoes.

 

<?php
$mysql_server = "localhost";
$mysql_user = "admin";
$mysql_pass = "1234";
$mysql_db = "teste_2";

//executa a conexão com o banco, caso contrário mostra o erro ocorrido
$mysql_db_con = mysql_connect($mysql_server,$mysql_user, $mysql_pass) or die (mysql_error());

//seleciona a base de dados daquela conexão, caso contrário mostra o erro ocorrido							   
$banco = mysql_select_db($mysql_db, $mysql_db_con) or die(mysql_error());							   
?>

 

<?php
//troque o include por este codigo
if(file_exists("mysqlcon.php")) {
require "mysqlcon.php";		
} else {
echo "Arquivo mysqlcon.php nao foi encontrado";
exit;
}

// Informações de cadastros do formulário
   $email = "celio.softway@gmail.com";
   $login = "celio";
   $senha = "123456";


//seleciona o bd	
mysql_select_db("$banco", $mysql_db_con);


$query = "INSERT INTO vilend VALUES (null, '$email', '$login', '$senha')";

//inclua esta linha        
mysql_query($query, $mysql_db_con) 
         or die(mysql_error());   

// Verifica sucesso da criação do perfil
$num_linha_cad = mysql_affected_rows ($mysql_db_con);
   if ($num_linha_cad == 1) {
         echo "sucesso!";
       }

?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais uma vez obrigado bug corrigido, essa foi minha primeira vez aqui, gostei de mais pessoal muito colaborativo adorei, obrigado de novo, se for necessário eu peço mais uma ajuda :thumbsup: E claro que dentro do possivel estarei ajudando a outras pessoas...

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.