Ir para conteúdo

POWERED BY:

Arquivado

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

Fabio Duarte

Comando insert php

Recommended Posts

pessoal....alguem sab m explikar como inserir um valor nulo no BD. tipo assimtenhu meu formulario, mas tm alguns campos q nao sao obrigatorio, e no bd estao configurado como nulo. dae se c pessoa nao kiser inserir nada nao tm problema, mas so q eu nao posso colokar no comanda SQL INSERT o valor null, pois pod ser q a pessoa passe um valor.ex:insert into tabela values(NULL, '$email', '$obrigatorio');a variavel $email nao é obrigatorio, e a variavel $obrigatorio é obrigatorio.se eu nao passar um valor para o email, qd for inserir no bd, ele vai da erro, pois nao tm nada na variavel, e ele ira colokar as aspas simples, fikando assim.insert into tabela values(NULL, 'NULL', 'obrigatorio');alguem m ajuda...vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade o código deveria ser:

 

INSERT INTO tabela (id,email,obrigatorio) VALUES(NULL, '$email', '$obrigatorio');

Caso a variável e-mail esteja vazia as duas aspas ficarao vazias, mas isso não é um problema.

 

Então se depois de consertar o código ainda aparecer erros, cole aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal....alguem sab m explikar como inserir um valor nulo no BD. tipo assimtenhu meu formulario, mas tm alguns campos q nao sao obrigatorio, e no bd estao configurado como nulo. dae se c pessoa nao kiser inserir nada nao tm problema, mas so q eu nao posso colokar no comanda SQL INSERT o valor null, pois pod ser q a pessoa passe um valor.ex:insert into tabela values(NULL, '$email', '$obrigatorio');a variavel $email nao é obrigatorio, e a variavel $obrigatorio é obrigatorio.se eu nao passar um valor para o email, qd for inserir no bd, ele vai da erro, pois nao tm nada na variavel, e ele ira colokar as aspas simples, fikando assim.insert into tabela values(NULL, 'NULL', 'obrigatorio');alguem m ajuda...vlw

Cara explica melhor, pois se o valor não é obrigatório, será inserido um valor nulo mesmo, agora se quizer colocar um valor default é diferente, e quanto ao email dar erro na hora de inserir, verifique no bd se o default não é not null, se for coloca NULL, e quanto as aspas é porque você configurou o email como text, se não for isto posta tentando explicar melhor, vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal é o seguinte....tenhu um formulario para inserir clientes. verifico os campos antes de inserir no bd. tenhu uma funçaõ q executa o mysql_query.tm alguns campos do formulario q podem ser deixados de inserir valores.pois bm, c eu preencher todos os campos obrigatorios, no comando sql, veja abaixo:$sql = "INSERT INTO `clientes` ( `codCliente` , `identidadeCliente` , `cpfCliente` , `datanascCliente` , `nomeCliente` , `endCliente` , `numCliente` , `complCliente` , `cepCliente` , `bairroCliente` , `codCidade` , `telresidencialCliente` , `telcomercialCliente` , `telcelularCliente` , `depCliente` , `emailCliente` , `datacadCliente` , `horacadCliente` , `datadelCliente` , `horadelCliente` , `codFuncCad` , `sitCliente` , `codFuncDel` )VALUES (NULL , '$identidade', '$cpf', '$datanasc', '$nome', '$endereco', '$numero', NULL , NULL , '$bairro', '$cidade', NULL , NULL ,NULL, NULL ,NULL , '$datacad', '$horacad', NULL , NULL , '$usuario', '0', NULL)";os demais valores terao q ser colocados como nulo.c eu fizer dessa forma, qd o usuario preencher o campo email, por exemplo, ele ali emcima esta declarado como nulo, entao ele nao ira passar o valor do email, e sim inserir no bd o valor nulo.entao eu decidi fazer um pequeno ajust..como recebe o valor via metodo post, criei a variavel $email, e no comando sql coloquei assim:$sql = "INSERT INTO `clientes` ( `codCliente` , `identidadeCliente` , `cpfCliente` , `datanascCliente` , `nomeCliente` , `endCliente` , `numCliente` , `complCliente` , `cepCliente` , `bairroCliente` , `codCidade` , `telresidencialCliente` , `telcomercialCliente` , `telcelularCliente` , `depCliente` , `emailCliente` , `datacadCliente` , `horacadCliente` , `datadelCliente` , `horadelCliente` , `codFuncCad` , `sitCliente` , `codFuncDel` )VALUES (NULL , '$identidade', '$cpf', '$datanasc', '$nome', '$endereco', '$numero', NULL , NULL , '$bairro', '$cidade', NULL , NULL ,NULL, NULL ,NULL , '$datacad', '$horacad', NULL , '$email', '$usuario', '0', NULL)";c eu nao passar nenhum valor pra variavel $email ela sera vazia, certo? mas qd vai executar o comando sql, a variavel esta entre aspas simples, e entao nao ira pegar um valor nulo, e sendo assim da erro.tentei resolver o problema fazendo o seguinte.antes de executar o comando, fiz assim:if(empty($email)){$email = NULL;}pois bm, c eu fizer assim, ele vai colocar o valor NULL entre aspas, 'NULL', e vai tentar inserir no bd.c eu alterar o codigo acima, if(empty($email)){$email = 'NULL';}ele tambem ira dar erro.uq keru ajuda, é como posso passar um valor nulo c o campo nao for preenchido, e c for preenchido passar o valor informado.m ajudem...axu q ta bm explikado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

até que tá bem explicado... mas não deveria ter erro se a variável entre aspas fosse vazia, então COLE O ERRO, que aparece...se não estiver aparecendo nenhum erro coloca echo mysql_error(); na linha depois do mysql_insert

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal é o seguinte....tenhu um formulario para inserir clientes. verifico os campos antes de inserir no bd. tenhu uma funçaõ q executa o mysql_query.tm alguns campos do formulario q podem ser deixados de inserir valores.pois bm, c eu preencher todos os campos obrigatorios, no comando sql, veja abaixo:$sql = "INSERT INTO `clientes` ( `codCliente` , `identidadeCliente` , `cpfCliente` , `datanascCliente` , `nomeCliente` , `endCliente` , `numCliente` , `complCliente` , `cepCliente` , `bairroCliente` , `codCidade` , `telresidencialCliente` , `telcomercialCliente` , `telcelularCliente` , `depCliente` , `emailCliente` , `datacadCliente` , `horacadCliente` , `datadelCliente` , `horadelCliente` , `codFuncCad` , `sitCliente` , `codFuncDel` )VALUES (NULL , '$identidade', '$cpf', '$datanasc', '$nome', '$endereco', '$numero', NULL , NULL , '$bairro', '$cidade', NULL , NULL ,NULL, NULL ,NULL , '$datacad', '$horacad', NULL , NULL , '$usuario', '0', NULL)";os demais valores terao q ser colocados como nulo.c eu fizer dessa forma, qd o usuario preencher o campo email, por exemplo, ele ali emcima esta declarado como nulo, entao ele nao ira passar o valor do email, e sim inserir no bd o valor nulo.entao eu decidi fazer um pequeno ajust..como recebe o valor via metodo post, criei a variavel $email, e no comando sql coloquei assim:$sql = "INSERT INTO `clientes` ( `codCliente` , `identidadeCliente` , `cpfCliente` , `datanascCliente` , `nomeCliente` , `endCliente` , `numCliente` , `complCliente` , `cepCliente` , `bairroCliente` , `codCidade` , `telresidencialCliente` , `telcomercialCliente` , `telcelularCliente` , `depCliente` , `emailCliente` , `datacadCliente` , `horacadCliente` , `datadelCliente` , `horadelCliente` , `codFuncCad` , `sitCliente` , `codFuncDel` )VALUES (NULL , '$identidade', '$cpf', '$datanasc', '$nome', '$endereco', '$numero', NULL , NULL , '$bairro', '$cidade', NULL , NULL ,NULL, NULL ,NULL , '$datacad', '$horacad', NULL , '$email', '$usuario', '0', NULL)";c eu nao passar nenhum valor pra variavel $email ela sera vazia, certo? mas qd vai executar o comando sql, a variavel esta entre aspas simples, e entao nao ira pegar um valor nulo, e sendo assim da erro.tentei resolver o problema fazendo o seguinte.antes de executar o comando, fiz assim:if(empty($email)){$email = NULL;}pois bm, c eu fizer assim, ele vai colocar o valor NULL entre aspas, 'NULL', e vai tentar inserir no bd.c eu alterar o codigo acima, if(empty($email)){$email = 'NULL';}ele tambem ira dar erro.uq keru ajuda, é como posso passar um valor nulo c o campo nao for preenchido, e c for preenchido passar o valor informado.m ajudem...axu q ta bm explikado...

Olha pode ser o que falei, a variável email está como not nul no banco, dá uma verificada, é no banco de dados e não no seu insert.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal, ja verifiquei as variaveis e tb os campos no bd e estao certos.fiz um teste e preenchi todos os campos do formulario, e ele inseriu sem nenhum problema.axu q u problema é se eu dexar mais de um campo em nulo ele da esse problema.eu fiz um cadastro e deixei apenas um campo q nao era obrigatorio para tras,e mandei inserir, e inseriu sme problemas, dai tentar inserir novamente,dexando mais d um campo nao obrigatorio para tras, dai ele da erro e nao inseri.alguem poderia m explika? ou m ajudar?vlw

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.