FórumGdH

Página Inicial do Guia do Hardware

Registrar FAQ Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Voltar   FórumGdH > Profissional > Programação, scripts, web e banco de dados
Bem-vindo ao FórumGdH
Não se esqueça de se registrar, é grátis . Nós temos 759.268 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.

Resposta
 
Opções do Tópico
Antigo 05-11-2003, 0:04   #1 (permalink)
BONFA-RJ
Veterano
 
Registrado em: Aug 2001
Localização: Rio de Janeiro
Mensagens: 1.170
Reputação: 23 BONFA-RJ está indo no caminho certo
Enviar mensagem via ICQ para BONFA-RJ
Padrão como dar um insert num DB (MySQL) usando PHP?

como fica o comando no php?
qualquer exemplo simples serve, so quero fazer como é o comando
__________________
Igor Brito Alves
igor.alves@uniriotec.br
http://twitter.com/igor.alves
_________________
BONFA-RJ está offline   Responder com Quote
Antigo 05-11-2003, 7:53   #2 (permalink)
rwar
GeeK
 
Avatar de rwar
 
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23 rwar está indo no caminho certo
Padrão

Código:
mysql_query("insert into <tabela> values ('$variavel1','$variavel2','variavel3'))";
__________________
No caminho dos scripts. Por enquanto, powershell...
rwar está offline   Responder com Quote
Antigo 05-11-2003, 11:31   #3 (permalink)
BONFA-RJ
Veterano
 
Registrado em: Aug 2001
Localização: Rio de Janeiro
Mensagens: 1.170
Reputação: 23 BONFA-RJ está indo no caminho certo
Enviar mensagem via ICQ para BONFA-RJ
Padrão

po, nao consigo inserir os dados...
no inicio do meu script tem uma parte pra verificar se o cara preencheu todos os campos... caso nao, ele avisa quais ainda nao foram preenchidos...
se tiver tudo preenchido, ele deve inseri-los
ta assim:
Código:
# inicio da conexao com o DB MySQL $host = "skywalker"; $username = "lalala"; $password = "lalala"; $db = "lalala"; $con_host = @mysql_connect($host,$username,$password); $con_db = @mysql_select_db($db,$conexao_host ); mysql_connect($host,$username,$password) or die ("Não pude conectar: " . mysql_error()); mysql_select_db($db); mysql_query('insert into <alunos> values ($HTTP_POST_VARS["nome"],$HTTP_POST_VARS["curso"],$HTTP_POST_VARS["periodo"], $HTTP_POST_VARS["telefone"],$HTTP_POST_VARS["email"],$HTTP_POST_VARS["habilidades"])'); ?> <p>Seu cadastro foi adicionado com sucesso. A Uniriotec Jr. agradece seu interesse. <?php } ?>
ele nao dá erro, mostra essa msg de sucesso no final
pq?
__________________
Igor Brito Alves
igor.alves@uniriotec.br
http://twitter.com/igor.alves
_________________
BONFA-RJ está offline   Responder com Quote
Antigo 05-11-2003, 11:47   #4 (permalink)
rwar
GeeK
 
Avatar de rwar
 
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23 rwar está indo no caminho certo
Padrão

Não testei, mas experimenta colocar
Código:
mysql_query('insert into <alunos> values ($HTTP_POST_VARS["nome"],$HTTP_POST_VARS["curso"],$HTTP_POST_VARS["periodo"], $HTTP_POST_VARS["telefone"],$HTTP_POST_VARS["email"],$HTTP_POST_VARS["habilidades"])');
começando com aspas duplas, assim:
Código:
mysql_query("insert into <alunos> values ($HTTP_POST_VARS["nome"],$HTTP_POST_VARS["curso"],$HTTP_POST_VARS["periodo"], $HTTP_POST_VARS["telefone"],$HTTP_POST_VARS["email"],$HTTP_POST_VARS["habilidades"])");
__________________
No caminho dos scripts. Por enquanto, powershell...
rwar está offline   Responder com Quote
Antigo 05-11-2003, 12:12   #5 (permalink)
BONFA-RJ
Veterano
 
Registrado em: Aug 2001
Localização: Rio de Janeiro
Mensagens: 1.170
Reputação: 23 BONFA-RJ está indo no caminho certo
Enviar mensagem via ICQ para BONFA-RJ
Padrão

eu tentei, mas nao funcionou...
Parse error: parse error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in g:\projetos\pages\ej_anderson\sm_facaparte2.php on line 188

aí coloquei aspas simples
__________________
Igor Brito Alves
igor.alves@uniriotec.br
http://twitter.com/igor.alves
_________________
BONFA-RJ está offline   Responder com Quote
Antigo 05-11-2003, 12:22   #6 (permalink)
AValle
Ubbergeek
 
Avatar de AValle
 
Registrado em: Dec 2002
Localização: Rio de Janeiro
Idade: 36
Mensagens: 4.437
Reputação: 40 AValle tem muito do que se orgulharAValle tem muito do que se orgulharAValle tem muito do que se orgulharAValle tem muito do que se orgulharAValle tem muito do que se orgulharAValle tem muito do que se orgulharAValle tem muito do que se orgulharAValle tem muito do que se orgulhar
Padrão

Código:
<? $conn = @mysql_pconnect("SERVER","USER","SENHA"); $db = @mysql_select_db("DATABASE",$conn); $VAR1=addslashes(trim($_POST['VAR1'])); $VAR2=addslashes(trim($_POST['VAR2'])); $VAR3=addslashes(trim($_POST['VAR3'])); $sql="insert into TABELA (campo_id, campo_VAR1, campo_VAR2, campo_VAR3) values (null,'$VAR1','$VAR2','$VAR3')"; $query=@mysql_query($sql,$conn); echo "<p>Seu cadastro foi adicionado com sucesso. A Uniriotec Jr. agradece seu interesse."; ?>
Vê se funciona agora
__________________
Entretenimento é aqui!
AValle está offline   Responder com Quote
Antigo 05-11-2003, 13:57   #7 (permalink)
BONFA-RJ
Veterano
 
Registrado em: Aug 2001
Localização: Rio de Janeiro
Mensagens: 1.170
Reputação: 23 BONFA-RJ está indo no caminho certo
Enviar mensagem via ICQ para BONFA-RJ
Padrão

nao ta funcionando...
depois fiz de outra maneira:
Código:
$conn = mysql_connect("lalala","lalala","lalala") or die("Não pude conectar: " . mysql_error()); $conn_db = mysql_select_db("ej",$conn) or die ("Não pude conectar o banco de dados: " . mysql_error()); $insert = 'INSERT INTO alunos(nome) values($HTTP_POST_VARS["nome"])'; $query = @mysql_query($insert,$conn) or die("falha no insert<br>".mysql_error()); mysql_close($link);
olha o erro q dá:
falha no insert
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 '["nome"])' at line 1


nao consigo descobrir o que é


ps: pra q server isso ---> addslashes(trim($_POST['VAR1']))
__________________
Igor Brito Alves
igor.alves@uniriotec.br
http://twitter.com/igor.alves
_________________
BONFA-RJ está offline   Responder com Quote
Antigo 05-11-2003, 22:39   #8 (permalink)
Kleber Costa
Zumbi
 
Registrado em: Aug 2001
Localização: Recife - PE
Mensagens: 5.177
Reputação: 28 Kleber Costa está indo no caminho certo
Enviar mensagem via MSN para Kleber Costa
Padrão

mysql.php
Código:
<? Class mysql { var $host = "localhost"; var $user = "papainoel"; var $senha = "natal"; var $banco = "sacodopapainoel"; var $conectado = false; function mysql(){ $this->Conectar(); } function Conectar(){ if (!$this->conectado){ if(!$conexao = mysql_connect($this->host,$this->user,$this->senha)){ echo "deu erro"; } else { if(!mysql_select_db($this->banco,$conexao)){ echo "deu erro2"; } } } } function Desconectar(){ mysql_close(); } function ExecutarConsulta($sql){ $resultado = mysql_query($sql)or die("bronca".mysql_error()); return $resultado; } } ?>
agora

Código:
<? include "mysql.php"; $MySQL = new mysql; $MySQL->Conectar(); $sql="insert into alunos (nome) values ($HTTP_POST_VARS['nome'])"; // $resultado=$MySQL->ExecutarConsulta($sql); $MySQL->ExecutarConsulta($sql); $MySQL->Desconectar(); ?>
v se ajuda aê!! altera a classe e deixa ela do jeito que vc quiser!!!
__________________
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
Kleber Costa está offline   Responder com Quote
Antigo 09-11-2003, 22:57   #9 (permalink)
BONFA-RJ
Veterano
 
Registrado em: Aug 2001
Localização: Rio de Janeiro
Mensagens: 1.170
Reputação: 23 BONFA-RJ está indo no caminho certo
Enviar mensagem via ICQ para BONFA-RJ
Padrão

foi mal pela demora na resposta...
eu testei, mas tb nao funcionou... o problema ta aqui:
Código:
$insert = "INSERT INTO alunos(nome) values($HTTP_POST_VARS['nome'])";
é algo envolvendo as aspas simples e duplas... ja tentei varias combinacoes, mas nao consigo resolver...
__________________
Igor Brito Alves
igor.alves@uniriotec.br
http://twitter.com/igor.alves
_________________
BONFA-RJ está offline   Responder com Quote
Antigo 10-11-2003, 2:30   #10 (permalink)
d0pEd
Membro Senior
 
Registrado em: Sep 2002
Mensagens: 158
Reputação: 20 d0pEd está indo no caminho certo
Padrão

http://br.php.net/manual/en/ref.mysql.php

Guia de referencia e exemplos para Mysql+PHP!
Espero que te ajude!
d0pEd está offline   Responder com Quote
Antigo 10-11-2003, 2:53   #11 (permalink)
Kleber Costa
Zumbi
 
Registrado em: Aug 2001
Localização: Recife - PE
Mensagens: 5.177
Reputação: 28 Kleber Costa está indo no caminho certo
Enviar mensagem via MSN para Kleber Costa
Padrão

eu acho que a bronca é pq a variável tá chegando vazia ou naum tá chegando, num é bronca de aspas naum!!!

dá um echo na var $insert, depois que ela for alimentada, e v se o sql tá certinho! provavelmente deve tá assim: insert into alunos (nome) values ()
Se o problema for esse aí tem arrumar o código!!

se possível posta aqui seu codigo pra gente v, inclusive o html!
__________________
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
Kleber Costa está offline   Responder com Quote
Antigo 10-11-2003, 10:48   #12 (permalink)
BONFA-RJ
Veterano
 
Registrado em: Aug 2001
Localização: Rio de Janeiro
Mensagens: 1.170
Reputação: 23 BONFA-RJ está indo no caminho certo
Enviar mensagem via ICQ para BONFA-RJ
Padrão

Código:
<?php if (($HTTP_POST_VARS["nome"] == NULL) or ($HTTP_POST_VARS["curso"] == NULL) or ($HTTP_POST_VARS["periodo"] == NULL) or ($HTTP_POST_VARS["telefone"] == NULL) or ($HTTP_POST_VARS["email"] == NULL) or ($HTTP_POST_VARS["habilidades"] == NULL)) { ?> <p>Você deixou de preencher os seguintes campos:</p> <ul> <?php if ($HTTP_POST_VARS["nome"] == NULL) { ?> <li>Nome</li> <?php } ?> <?php if ($HTTP_POST_VARS["curso"] == NULL) { ?> <li>Curso</li> <?php } ?> <?php if ($HTTP_POST_VARS["periodo"] == NULL) { ?> <li>Período</li> <?php } ?> <?php if ($HTTP_POST_VARS["telefone"] == NULL) { ?> <li>Telefone</li> <?php } ?> <?php if ($HTTP_POST_VARS["email"] == NULL) { ?> <li>E-Mail</li> <?php } ?> <?php if ($HTTP_POST_VARS["habilidades"] == NULL) { ?> <li>Descrição das habilidades</li> <?php } ?> </ul> <p>Para voltar ao formulário, clique <a href="javascript:history.go(-1)">aqui</a> (ou no botão "Voltar" do seu browser).</p> <?php } else { # inicio da conexao com o DB MySQL $conn = mysql_connect(lalalalalala) or die("Não pude conectar: " . mysql_error()); $conn_db = mysql_select_db("ej",$conn) or die ("Não pude conectar o banco de dados: " . mysql_error()); $insert = 'INSERT INTO alunos(nome) values('.$HTTP_POST_VARS["nome"].')'; echo $insert; $query = @mysql_query($insert,$conn) or die("falha no insert<br>".mysql_error()); mysql_close($conn); ?> <p>Seu cadastro foi adicionado com sucesso. A Uniriotec Jr. agradece seu interesse. <?php } ?>
eu mudei o codigo... ta desse jeito agora... mas nao funciona

ele ate pega a variavel, mas acho q não ta tratando direito... veja o erro:
Unknown column 'dsa' in 'field list', onde "dsa" era o que havia no campo "nome", ou seja, a variavel $HTTP_POST_VARS["nome"]
__________________
Igor Brito Alves
igor.alves@uniriotec.br
http://twitter.com/igor.alves
_________________
BONFA-RJ está offline   Responder com Quote
Antigo 10-11-2003, 11:25   #13 (permalink)
mjs
Zumbi
 
Registrado em: Jun 2001
Localização: São José dos Pinhais - Pr
Idade: 27
Mensagens: 9.452
Reputação: 34 mjs está indo no caminho certo
Padrão

Citação:
Postado Originalmente por BONFA-RJ
nao ta funcionando...
depois fiz de outra maneira:
[code]
$conn = mysql_connect("lalala","lalal...
O addslashes serve para transformar " em \" e mais alguns caracteres, isso na verdade é útil para evitar ataques via SQL Injection.
__________________
|254374| www.linuxhard.org | www.quati.com
mjs está offline   Responder com Quote
Antigo 10-11-2003, 11:31   #14 (permalink)
mjs
Zumbi
 
Registrado em: Jun 2001
Localização: São José dos Pinhais - Pr
Idade: 27
Mensagens: 9.452
Reputação: 34 mjs está indo no caminho certo
Padrão

Citação:
Postado Originalmente por BONFA-RJ
foi mal pela demora na resposta...
eu testei, mas tb nao funcionou... o problema ta aqui:
[code]
$insert = "I...
Tent assim:

$insert = "INSERT INTO alunos (`nome`) values("'.$HTTP_POST_VARS["nome"].'")";

se não der tente inserir um valor bruto direto para ver se funcionar aí o problema pode ser na hora de recupear o POST_VARS

$insert = "INSERT INTO alunos (`nome`) values("teste")";

E na hora de gravar não use o @

$query = @mysql_query($insert,$conn) or die("falha no insert<br>".mysql_error());

Ele serve para não mostrar erros quer dizer se der algum erro na hora do mysql_query ele vai ocultar o erro...

$query = mysql_query($insert,$conn) or die("falha no insert<br>".mysql_error());

Se ele apresentar algum erro poste aqui, é bem mais fácil tratar um erro gerado pelo mysql_erro() do que ficar tentando n scripts

Também verifique como está o campo nome no bd mysql, se está definido com um campo correto...
__________________
|254374| www.linuxhard.org | www.quati.com
mjs está offline   Responder com Quote
Antigo 10-11-2003, 11:53   #15 (permalink)
BONFA-RJ
Veterano
 
Registrado em: Aug 2001
Localização: Rio de Janeiro
Mensagens: 1.170
Reputação: 23 BONFA-RJ está indo no caminho certo
Enviar mensagem via ICQ para BONFA-RJ
Padrão

o problema agora é esse Unknown column 'teste' in 'field list'
to fazendo os testes com:
$insert = "INSERT INTO alunos (nome) values(teste)";
mas ja consigo fazer com q pegue a variavel do campo do form...
o problema é q o php ta comparando "(nome)" e "(teste)"... se for diferente dá erro... se for igual, nao dá erro e cria uma entrada vazia no bd...
oq está errado?



ps: valeu pela atencao pessoal!!
__________________
Igor Brito Alves
igor.alves@uniriotec.br
http://twitter.com/igor.alves
_________________
BONFA-RJ está offline   Responder com Quote
Antigo 10-11-2003, 16:11   #16 (permalink)
rwar
GeeK
 
Avatar de rwar
 
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23 rwar está indo no caminho certo
Padrão

Não esqueça de por teste entre aspas simples...
__________________
No caminho dos scripts. Por enquanto, powershell...
rwar está offline   Responder com Quote
Antigo 10-11-2003, 17:22   #17 (permalink)
Kleber Costa
Zumbi
 
Registrado em: Aug 2001
Localização: Recife - PE
Mensagens: 5.177
Reputação: 28 Kleber Costa está indo no caminho certo
Enviar mensagem via MSN para Kleber Costa
Padrão

achei o erro!! testei aqui!
eu testei pelo console mesmo ai depois testei em php e funcionou!!

$sql="insert into alunos (nome) values (\"linux\")";

teu sql tem que ficar assim:

$insert = "insert into alunos (nome) values (\"$HTTP_POST_VARS[nome]\")";

confirma aí c deu certo e respeita os espaços que coloquei(apesar que eles naum influenciam em nada hehehe, é só pra ficar mais bunitinhu! hehehe)!!
__________________
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
Kleber Costa está offline   Responder com Quote
Antigo 11-11-2003, 0:02   #18 (permalink)
BONFA-RJ
Veterano
 
Registrado em: Aug 2001
Localização: Rio de Janeiro
Mensagens: 1.170
Reputação: 23 BONFA-RJ está indo no caminho certo
Enviar mensagem via ICQ para BONFA-RJ
Padrão

VIVA!, funcionou, hehehe
mais uma vez agradeço a galera do forumgdh q doou um poko do seu tempo pra me ajudar!
:- )
__________________
Igor Brito Alves
igor.alves@uniriotec.br
http://twitter.com/igor.alves
_________________
BONFA-RJ está offline   Responder com Quote
Resposta


Opções do Tópico

Regras de Mensagens
Você não pode criar tópicos
Você não pode postar respostas
Você não pode anexar arquivos
Você não pode editar suas mensagens

Código vB está Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Ir para...


Horários baseados na GMT -3. Agora são 6:47.