Ir para conteúdo

POWERED BY:

Arquivado

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

rafinhaphp

escrever no banco mysql

Recommended Posts

salve galera... seguinte sou iniciante ainda, estou estudando PHP e mysql em casa mesmo, e pela net...

eu estu tentando escrever em uma tabela mas da erro... tipo, conecta tudo certinho mas na hora de escrever non vai.....

eu fiz um script aqui tamb q cria a tabela... vo postar ...

 

onde esta o erro?

 

formulario.html

<form action="inserir_dados.php" method="post" name="formulario">
Nome: <input name="txtnome" id="txtnome" type="text"><br>
E-mail <input name="txtmail" id="txtmail" type="text"><br>
Telefone: <input name="txtfone" id="txtfone" type="text"><br>
<input name="enviar" type="submit" value="enviar">
</form>

 

cria_tabela.php

<?PHP
$conexao = mysql_connect ("localhost", "iesonlin_adm", "adm");
		   mysql_select_db("iesonlin_estudo", $conexao);
		   
$cria = "CREATE TABLE usuarios (codigo  INT AUTO_INCREMENT PRIMARY KEY,
		 nome CHAR(40) , email CHAR(60), telefone CHAR(14))";
		 mysql_query ($cria, $conexao) or die ("Ocorreu um ERRO e não foi criado a Tabela");
?>

 

inserir_dados.php

<?PHP

$conexao = mysql_connect('localhost', 'iesonlin_adm', 'adm');
		   mysql_query('usuarios', $conexao);
		   
$insere = "INSERT INTO usuarios (nome,email,telefone) VALUES ('$txtnome','$txtmail','$txtfone')";


mysql_query ($insere, $conexao) or die ("ERRO - Os dados não foram incluidos ao Banco");

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

a string de inserir, precisa receber os dados do formulário.

Só funcionaria da forma que você postou, se tivesse com register_globals = on, oq é ruim.

 

Faça:

INSERT INTO `usuarios` (`nome`, `email`, `telefone`) VALUES ('{$_POST['txtnome']}', '{$_POST['txtmail']}', '{$_POST['txtfone']}'

Pois já que o método do teu formulário, é post, você vai pegar os dados dele, com o array $_POST.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafinha você não recuperou os dados o formulário faz assim

 

inserir_dados.php

<?PHP

$conexao = mysql_connect('localhost', 'iesonlin_adm', 'adm');
		   mysql_query('usuarios', $conexao);

$txtnome'= $_POST['txtnome''];
$txtmail'= $_POST['txtmail''];
$txtfone'= $_POST['txtfone''];

		   
$insere = "INSERT INTO usuarios (id,txtnome,txtemail,txttelefone) VALUES ('', '$txtnome', '$txtmail', '$txtfone')";

mysql_query ($insere, $conexao) or die ("ERRO - Os dados não foram incluidos ao Banco");

?>

eu não testei não + v ai se vai funcionar beleza qualquer duvida sobre php entra no site http://www.w3schools.com

beleza um abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahh ta... entendi!...

tipo...

nun adianta eu falar: $txtnome sendo que essa strings "não existe" né? tipo se eu colocasse $txtnome = "meu nome" ai sim ele iria colocar né?

 

esse "{$_POST['txtmail']}" diz queé para pegar o campo txtmail do formulario né? e ele pega pelo nome="" ou pelo id=""? eu coloquei os 2 logo pra nun dar erro! rsrsrs

 

 

mas ai.. eu testei e ñ rolo manin! =/

fico assim ó:

<?PHP

$conexao = mysql_connect('localhost', 'iesonlin_adm', 'adm');
		   mysql_query('usuarios', $conexao);
		   
$insere = "INSERT INTO 'usuarios' ('nome', 'email', 'telefone') VALUES ('{$_POST['txtnome']}', '{$_POST['txtmail']}', '{$_POST['txtfone']}')";


mysql_query ($insere, $conexao) or die ("ERRO - Os dados não foram incluidos ao Banco!");

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

$txtnome'= $_POST['txtnome''];

 

non esta errado?

seila, eu estou estudando ainda... mas não seria:?

 

 

$txtnome= $_POST['txtnome'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

poxa... mas nun foi não... =/

 

<?PHP

$conexao = mysql_connect('localhost', 'iesonlin_adm', 'adm');
		   mysql_query('usuarios', $conexao);

$txtnome= $_POST['txtnome'];
$txtmail= $_POST['txtmail'];
$txtfone= $_POST['txtfone'];

		   
$insere = "INSERT INTO usuarios (txtnome,txtmail,txtfone) VALUES ('$txtnome', '$txtmail', '$txtfone')";

mysql_query ($insere, $conexao) or die ("ERRO - Os dados não foram incluidos ao Banco");

?>

 

HTML

<form action="inserir_dados.php" method="post" name="formulario">
Nome: <input name="txtnome" id="txtnome" type="text"><br>
E-mail <input name="txtmail" id="txtmail" type="text"><br>
Telefone: <input name="txtfone" id="txtfone" type="text"><br>
<input name="enviar" type="submit" value="enviar">
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O correto ficaria:

$txtnome= $_POST['txtnome']; mesmo.

Troque o erro.. vamos ver a real..

 

mysql_query ($insere, $conexao) or die (mysql_error());
Ai você nos diz qual é o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No database selected

Compartilhar este post


Link para o post
Compartilhar em outros sites

:lol:

Precisa falar mais alguma coisa? ^^

 

http://br2.php.net/mysql_select_db

Faça isso, depois de abrir a conexão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verdade... porq estava selecionando apenas o banco... mas a tabela não.. é isso né? vo testar aqui... pera ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda não foi... deu esse erro....

Unknown column 'txtnome' in 'field list'

 

mas acredito, tenho fé em Deus que estou quaze lá! rsrsrsrsrs

 

 

ahhhh jah ia me esqc... fico assim o script... correto?:

 

<?PHP
$conexao = mysql_connect('localhost', 'iesonlin_adm', 'adm');
		   mysql_query('usuarios', $conexao);
		   mysql_select_db('iesonlin_estudo',$conexao);
		   

$txtnome= $_POST['txtnome'];
$txtmail= $_POST['txtmail'];
$txtfone= $_POST['txtfone'];
	  
$insere = "INSERT INTO usuarios (txtnome,txtmail,txtfone) VALUES ('$txtnome', '$txtmail', '$txtfone')";

mysql_query ($insere, $conexao) or die (mysql_error());
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade, você fez a conexão, mas não selecionou o banco.

Veja a diferença pro teu próprio script que cria a tabela.. lá você tem o select_db.

Ficaria então:

<?php
$conexao = mysql_connect ("localhost", "iesonlin_adm", "adm");
		   mysql_select_db("iesonlin_estudo", $conexao);

$txtnome= $_POST['txtnome'];
$txtmail= $_POST['txtmail'];
$txtfone= $_POST['txtfone'];

		   
$insere = "INSERT INTO `usuarios` (`txtnome`, `txtmail`, `txtfone`) VALUES ('{$txtnome}', '{$txtmail}', '{$txtfone}')";

mysql_query ($insere, $conexao) or die (mysql_error());
Eu gosto de usar as chaves para concatenar a string, e as crases para indicar claramente, quem é tabela, e colunas.

 

Para evitar essa dor de cabeça.. cria um arquivo com a conexão, e dá include dele, sempre que precisar trabalhar com o banco.

Ficaria:

conexao.php

<?php
$conexao = mysql_connect ("localhost", "iesonlin_adm", "adm");
		   mysql_select_db("iesonlin_estudo", $conexao);
?>
Ai o teu inserir ficaria:

<?php
include('conexao.php');
$txtnome= $_POST['txtnome'];
$txtmail= $_POST['txtmail'];
$txtfone= $_POST['txtfone'];

		   
$insere = "INSERT INTO `usuarios` (`txtnome`, `txtmail`, `txtfone`) VALUES ('{$txtnome}', '{$txtmail}', '{$txtfone}')";

mysql_query ($insere, $conexao) or die (mysql_error());
?>
Assim você não precisa ficar reescrevendo váras vezes a conexão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

legal... ai em qualquer documento que eu precise conectar al banco eu só chamo a conexao.php né.. bacana

mas ai... rsrsrs tu vai quere me matar, mas ainda ñ foi! rsrsrsrs

deu o mesmo erro... mas acredito q seja algum errinho q não estou enxergando! =[

 

Unknown column 'txtnome' in 'field list'

 

esse erro é alguma coiza do tipo: txtnome é desconhecido, nun é???

mas como é desconhecido? eu conhesso ele sim! hahahaha

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom... tinha um erro q na verdade eu não sei se é correto, jah me fala ai se é ou não... no lugar de (') aspas simples, tava (´) assento agudo... ai eu arrumei... mas agora deu esse erro aqui ó...

 

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 ''usuarios' ('txtnome', 'txtmail', 'txtfone') VALUES ('sdfg', 'fgsdf', 'gsdfg')' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nops.. o correto é a crase, e não a aspa!

Para campos e nome de tabela, você deve usar a crase.

 

Oque deu de desconhecido, é pq tem algo errado no nome da coluna. Poste a estrutura da tua tabela.

Existe esse campo lá no banco ? tá escrito certo ?

 

Devolve a crase ai rapaz! eu postei certo :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkkkkkkkkkkkkkkk.....pow manin. sorry... dessa eu não sabia... se tiver algum link falando sobre a crase, e onde eu vou ou não usala... porq eu nun sabia dessa veio...

 

 

usuarios:

 

Campo Tipo Collation Atributos Nulo Padrão Extra

codigo int(11) Não auto_increment

nome char(40) latin1_swedish_ci Sim NULL

email char(60) latin1_swedish_ci Sim NULL

telefone char(14) latin1_swedish_ci

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se tiver um erro no banco de dados.. é porq o cria_tabela.php esta errado né? porq qq coiz a culpa foi dele viu, e ñ minha... rsrsrsrsrsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

huAHuahUAH putz.. falta de atenção minha tb.. nem me toquei que você criou a tabela, e depois usou ela..

já poderia ter visto o erro faz tempo!! :lol:

 

Veja .. o INSERT sql é isso aqui ó:

INSERT INTO `tabela` (`campo1`, `campo2`) VALUES ('valor1', 'valor2')

Entendeu?

Então, o correto da tua query é:

$insere = "INSERT INTO `usuarios` (`nome`, `email`, `telefone`) VALUES ('{$txtnome}', '{$txtmail}', '{$txtfone}')";

Compartilhar este post


Link para o post
Compartilhar em outros sites

weeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

e.....

agora foi...

manu, que EMOção, meus primeiros dados inseridos com PHP e mysql foraum:

codigo nome email telefone

1 sdfg fgsdf gsdfg

 

 

kkkkkkkkkkkkkkkkkkk...

 

pow manin, valew pela paciência viu!

tipo... vo dar uma estudada legal esse script, tentar intender oque cara coiza realmente fz!!!

mas tipo... eu só não entendi as crases! =/

quando eu vou isar ' e quando vai ser ´ ?? se quizer responder isso amanha, tudobem! rsrsrs

valew mesmo!!!

tem que postar o script completo pra galera ver? ou se axa q nen precs?

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.