Ir para conteúdo

POWERED BY:

Arquivado

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

Alison_Melo

[Resolvido] Código não cadastra no banco de dados

Recommended Posts

Não consigo entender, se estou usando incorretamente as sessões, ou elas estao interfirindo em algo,

ou como sempre é a pécinha, kkk

nao cadastra de forma alguma...

 

 

Cadastra.php

<?php

date_default_timezone_set('Brazil/East');
include "conect.php";


$id_user    = session_id();
$descrição  = $_REQUEST["descricao"];
$quantidade = $_REQUEST["quantidade"];
$valor      = $_REQUEST["valor"];
$data       = date ("h:i:s d/m/Y");

$sql = "INSERT INTO `itens`(`id_user`,`descricao`,`quantidade`,`valor`,`data`,`id`) 
VALUES ('$id_user','$descrição','$quantidade','$valor','$data')";
mysql_query($sql,$conn);

echo "Iten cadastrado com sucesso.";



?>

 

index.php

 <form method="post" action="cadastra.php">

   	Descrição:<br />
       <input type="text" name="descricao"  size="30"/><br />
	Quantidade:<br />
       <input type="text" name="quantidade" size="2" /><br />
	Valor:<br />
	<input type="text" name="valor" size="3" /><br />
	<input type="submit" value="Cadastrar" />
  	 </form>

 

conect.php

<?php
$host = "localhost";
$user = "root";
$pass = "";


	$conn = mysql_connect("$host","$user","$pass");
	if (!$conn)
	die ("Erro ao se conectar ao banco.");
	$bd = mysql_select_db("itens",$conn);


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque o mysql_error() para ver o motivo de não ter dado certo:

 

mysql_query( $sql )or die( mysql_error() );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em timezone use

date_default_timezone_set('America/Sao_Paulo');

Se você estiver perto de Sampa.

 

E se você deixou o auto_increment no DB você não precisa informar id ficando:

 

       
       date_default_timezone_set('America/Sao_Paulo');
       include "conect.php";

       $descricao  = $_REQUEST["descricao"];
       $quantidade = $_REQUEST["quantidade"];
       $valor      = $_REQUEST["valor"];
       $data       = date ("h:i:s d/m/Y");

       $sql = "INSERT INTO `itens`(`descricao`,`quantidade`,`valor`,`data`) 
       VALUES ('$descricao','$quantidade','$valor','$data')";
       mysql_query($sql,$conn);

       echo "Iten cadastrado com sucesso.";

 

Detalhe: Não use acentuação nem cedilha no código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim...

$sql = "INSERT INTO 'itens'(descricao, quantidade, valor, data, id) VALUES ('$descricao', '$quantidade', '$valor', '$data', '$id_user')";

Compartilhar este post


Link para o post
Compartilhar em outros sites

e quanto ao id, eu n to colocando ele, este id_user, eu coloquei pra lista oq é cadastrado depois

 

Tente assim...

$sql = "INSERT INTO 'itens'(descricao, quantidade, valor, data, id) VALUES ('$descricao', '$quantidade', '$valor', '$data', '$id_user')";

 

 

segui o modelo e agora o erro mudou

 

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 ''itens'(id_user,descricao,quantidade,valor,data,id) VALUES ('1','Abasteciment' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mostra esse dados para ver o que retorna antes de cadastrar...

echo $id_user    = session_id();
echo $descrição  = $_REQUEST["descricao"];
echo $quantidade = $_REQUEST["quantidade"];
echo $valor      = $_REQUEST["valor"];
echo $data       = date ("h:i:s d/m/Y");

Compartilhar este post


Link para o post
Compartilhar em outros sites

1

Abastecimento

20L

54

02:32:26 17/04/2012

 

mudei só o session_id()

pra pegar como $id

 

e deu certinho os dados que quero

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente alterar para isso

<?php
date_default_timezone_set('Brazil/East');
include "conect.php";

$id_user    = session_id();
$descrição  = $_POST["descricao"];
$quantidade = $_POST["quantidade"];
$valor      = $_POST["valor"];
$data       = date ("Y-m-d H:i:s");

$sql = "INSERT INTO `itens`(`id_user`,`descricao`,`quantidade`,`valor`,`data`) 
       VALUES ('$id_user','$descrição','$quantidade','$valor','$data')";

mysql_select_db("itens",$conn);
$queryInsert = mysql_query($sql,$conn);

echo "Iten cadastrado com sucesso.";
?>

Aqui alterei $_POST e o formato da data para o datetime do MySQL.

 

<?php      
$host = "localhost";
$user = "root";
$pass = "";

$conn = mysql_connect("$host","$user","$pass");
if (!$conn) die ("Erro ao se conectar ao banco.");
?>                

Aqui retirei o select db.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1

Abastecimento

20L

54

02:32:26 17/04/2012

 

mudei só o session_id()

pra pegar como $id

 

e deu certinho os dados que quero

 

Agora se possível mande o código da tabela (itens) que será gravado esses dados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro persiste,

kkk, ta com cara de ser errinho bobo

 

to de cara com esse erro, pq meu, sempre faço cadastros, seeeeeempre mesmo,

a unica diferença, é q dessa vez, eu uso session,

 

--

-- Banco de Dados: `cp`

--

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `itens`

--

 

CREATE TABLE IF NOT EXISTS `itens` (

`id` int(10) NOT NULL AUTO_INCREMENT,

`id_user` int(10) NOT NULL,

`descricao` varchar(300) NOT NULL,

`quantidade` varchar(30) NOT NULL,

`valor` varchar(30) NOT NULL,

`data` text NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

$conn = mysql_connect("localhost","root","");
$bd = mysql_select_db("cp",$conn);

O nome do seu banco de dados é "cp" ou "itens"?

 

Vamos tentar de outra forma...

$sql = "INSERT INTO itens(id_user, descricao, quantidade, valor, data) VALUES ('{$id_user}', '{$descrição}', '{$quantidade}', '{$valor}', '{$data}')";

Compartilhar este post


Link para o post
Compartilhar em outros sites

banco é cp, itens é a tabela

 

$conn = mysql_connect("localhost","root","");
$bd = mysql_select_db("cp",$conn);

O nome do seu banco de dados é "cp" ou "itens"?

 

Vamos tentar de outra forma...

$sql = "INSERT INTO itens(id_user, descricao, quantidade, valor, data) VALUES ('{$id_user}', '{$descrição}', '{$quantidade}', '{$valor}', '{$data}')";

 

AAAAAAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEE

Deu certo haha

cara que estranho né ?, pelo geito era incompatibilidade?

 

Obrigado cara, muito obrigado mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cedriot, não é incompatibilidade.

Você trocou o nome do banco desde o post#1, só matei a charada quando você mandou a estrutura do seu banco para analisar.

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.