xpanium 0 Denunciar post Postado Fevereiro 13, 2008 :mellow: Olá pessoal, estou aqui postando o código para vocês tentarem me ajudar aonde está o erro, como se trata de muitos campos a serem gravados e tambem já estou meio doido http://forum.imasters.com.br/public/style_emoticons/default/grin.gif de ver código, alguem ai esta vendo o erro??? CODE <?phpif($_SERVER["REQUEST_METHOD"] == "POST") { $id = $_POST["id"]; $curso1 = $_POST["curso1"]; $curso2 = $_POST["curso2"]; $curso3 = $_POST["curso3"]; $curso4 = $_POST["curso4"]; $curso5 = $_POST["furso5"]; $nome = $_POST["nome"]; $identidade = $_POST["identidade"]; $orgao = $_POST["orgao"]; $uf = $_POST["uf"]; $data = "{$_POST["dia"]}-{$_POST["mes"]}-{$_POST["ano"]}"; $sexo = $_POST["sexo"]; $cpf = $_POST["cpf"]; $mae = $_POST["mae"]; $pai = $_POST["pai"]; $endereco = $_POST["endereco"]; $n = $_POST["n"]; $apt = $_POST["apt"]; $bairro = $_POST["bairro"]; $cidade = $_POST["cidade"]; $estados = $_POST["estados"]; $cep = $_POST["cep"]; $fone = $_POST["fone"]; $cel = $_POST["cel"]; $email = $_POST["email"]; $localdetrabalho = $_POST["localdetrabalho"]; $enderecodotrabalho = $_POST["enderecodotrabalho"]; $numerodotrabalho = $_POST["numerodotrabalho"]; $bairrotrabalho = $_POST["bairrotrabalho"]; $cidadetrabalho = $_POST["cidadetrabalho"]; $ceptrabalho = $_POST["ceptrabalho"]; $fonetrabalho = $_POST["fonetrabalho"]; $emailtrabalho = $_POST["emailtrabalho"]; $formacaosuperior = $_POST["formacaosuperior"]; $faculdadeuniversidade = $_POST["faculdadeuniversidade"]; $xeroxid = $_POST["xeroxid"]; $xeroxcpf = $_POST["xeroxcpf"]; $curriculum = $_POST["curriculum"]; $diploma = $_POST["diploma"]; $foto = $_POST["foto"]; $taxa = $_POST["taxa"]; $parcelas = $_POST["parcelas"]; $secretariaturma = $_POST["secretariaturma"]; if(file_exists("init.php")) { require "init.php"; } else { echo "Arquivo init.php nao foi encontrado"; exit; } if(!function_exists("Abre_Conexao")) { echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao"; exit; } Abre_Conexao(); if(@mysql_query("INSERT INTO alunos (id, curso1, curso2, curso3, curso4, curso5, nome, identidade, orgao, uf, data, sexo, cpf, mae, pai, endereco, n, apt, bairro, cidade, estados, cep, fone, cel, email, localdetrabalho, enderecodotrabalho, numerodotrabalho, bairrotrabalho, cidadetrabalho, ceptrabalho, fonetrabalho, emailtrabalho, formacaosuperior, faculdadeuniversidade, xeroxid, xeroxcpf, taxa, curriculum, diploma, foto, taxa, parcelas, secretariaturma) VALUES ('$id', '$curso1', '$curso2' , '$curso3', '$curso4', '$curso5', '$nome', '$identidade', '$orgao', '$uf', '$data', '$sexo', '$cpf', '$mae', '$pai', '$endereco', '$n', '$apt', '$bairro', '$cidade', '$estados', '$cep', '$fone', '$cel', '$email', '$localdetrabalho', '$enderecodotrabalho', '$numerodotrabalho', '$bairrotrabalho', '$cidadetrabalho', '$ceptrabalho', '$fonetrabalho', '$emailtrabalho', '$formacaosuperior', '$faculdadeuniversidade', '$xeroxid', '$xeroxcpf', '$taxa', '$curriculum', '$diploma', '$foto', '$taxa', '$parcelas', '$secretariaturma', ")) { if(mysql_affected_rows() == 1){ echo "Registro efetuado com sucesso<br />"; } } else { if(mysql_errno() == 1062) { echo $erros[mysql_errno()]; exit; } else { echo "Erro nao foi possivel efetuar o cadastro"; exit; } @mysql_close(); } } ?> <a href="index.html">Voltar</a> Desculpa pelo o código e consequentimento o poste grande, obrigado a ajuda de todos... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 13, 2008 poste a mensagem de erro Compartilhar este post Link para o post Compartilhar em outros sites
xpanium 0 Denunciar post Postado Fevereiro 13, 2008 poste a mensagem de erro Amigo aparece aqui "Erro nao foi possivel efetuar o cadastro" isso é a mensagem que aparece que foi definida no código PHP, sou iniciante estou aprendendo ainda, só que tem casos que requer experiência, peguei este código aqui no forum estou tentanto aperfeiçoar se der =D Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 13, 2008 Acrescente mysql_error() para ver qual é o erro retornado pelo MySQL: } else { echo "Erro. Não foi possivel efetuar o cadastro. Erro do MySQL: " . mysql_error(); exit; } execute novamente e poste a nova mensagem de erro Compartilhar este post Link para o post Compartilhar em outros sites
_neto_ 0 Denunciar post Postado Fevereiro 13, 2008 só um chute, mas percebi que você colocou aspas simples em todos os campos no insert, as aspas simples devem ser usadas só pra campo de texto, evite elas para campo numéricos (como id ou nº por exemplo?). para ver as mensagens de erro você tem q setar a propriedade display_errors no arquivo php.ini para On, ou chamar a função no início do seu script: ini_set("display_errors", "On"). Compartilhar este post Link para o post Compartilhar em outros sites
xpanium 0 Denunciar post Postado Fevereiro 13, 2008 Acrescente mysql_error() para ver qual é o erro retornado pelo MySQL: } else { echo "Erro. Não foi possivel efetuar o cadastro. Erro do MySQL: " . mysql_error(); exit; } execute novamente e poste a nova mensagem de erro APARECE ESTE ERRO AQUI!!!! Erro. Não foi possivel efetuar o cadastro. Erro do MySQL: 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 '' at line 8 Compartilhar este post Link para o post Compartilhar em outros sites
xpanium 0 Denunciar post Postado Fevereiro 13, 2008 só um chute, mas percebi que você colocou aspas simples em todos os campos no insert, as aspas simples devem ser usadas só pra campo de texto, evite elas para campo numéricos (como id ou nº por exemplo?). para ver as mensagens de erro você tem q setar a propriedade display_errors no arquivo php.ini para On, ou chamar a função no início do seu script: ini_set("display_errors", "On"). DEIXA VER SE EU ENTENDI, CODE Abre_Conexao();if(@mysql_query("INSERT INTO alunos (id, curso1, curso2, curso3, curso4, curso5, nome, identidade, orgao,uf, data, sexo, cpf, mae, pai, endereco, n, apt, bairro, cidade, estados, cep, fone, cel, email, localdetrabalho, enderecodotrabalho,numerodotrabalho, bairrotrabalho, cidadetrabalho, ceptrabalho, fonetrabalho, emailtrabalho, formacaosuperior, faculdadeuniversidade,xeroxid, xeroxcpf, taxa, curriculum, diploma, foto, taxa, parcelas, secretariaturma) VALUES ('$id', '$curso1', '$curso2' , '$curso3', '$curso4', '$curso5', '$nome','$identidade', '$orgao', '$uf', '$data', '$sexo', '$cpf', '$mae', '$pai', '$endereco', '$n', '$apt', '$bairro', '$cidade', '$estados','$cep', '$fone', '$cel', '$email', '$localdetrabalho', '$enderecodotrabalho', '$numerodotrabalho', '$bairrotrabalho','$cidadetrabalho', '$ceptrabalho', '$fonetrabalho', '$emailtrabalho', '$formacaosuperior', '$faculdadeuniversidade','$xeroxid', '$xeroxcpf', '$taxa', '$curriculum', '$diploma', '$foto', '$taxa', '$parcelas', '$secretariaturma', ")) { if(mysql_affected_rows() == 1){ Aonde tem por exemplo '$cidadetrabalho' está errado tem que ser assim? "$cidadetrabalho" ,,, tem certeza? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 13, 2008 são aspas simples, mesmo. O que o _neto_ disse é para não colocar valores numéricos entre aspas simples. O erro está nesta vírgua a mais: '$secretariaturma', ")) { Compartilhar este post Link para o post Compartilhar em outros sites
xpanium 0 Denunciar post Postado Fevereiro 13, 2008 Sim bem pois o que aprendi no curso dizia que era simples pois são variáveis.... são aspas simples, mesmo. O que o _neto_ disse é para não colocar valores numéricos entre aspas simples. O erro está nesta vírgua a mais: '$secretariaturma', ")) { Apareceu este erro ainda Erro. Não foi possivel efetuar o cadastro. Erro do MySQL: 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 '' at line 8 Gente será porque estou rorando localmente e não na minha hospedagem na web? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 13, 2008 coloque a string SQL numa outra variável. Depois de um echo nela, antes de executá-la com mysql_query(), para saber qual está sendo a SQL gerada. O erro não ocorre por estar em sua máquina local. Compartilhar este post Link para o post Compartilhar em outros sites
villas2 0 Denunciar post Postado Fevereiro 18, 2008 Boas Estou com o mesmo problema aqui mas no meu caso estou tentendo duplicar registros (pedido de vendas) e junstamente num campo (varchar) que tem aspas simples (Ex.: D'AGUA) o insert aborta e da erro naquele ponto (outros registros que não tem aspas nesse campo são inseridos sem problemas). A query(com os valores que deu o erro): INSERT INTO detalhe_pedido (detalhe_IDped, detalhe_cotacao, detalhe_numped, detalhe_hier, detalhe_cod_cliente, detalhe_cod_clinovo, detalhe_data, detalhe_item, detalhe_qtd_embal, detalhe_qtde, detalhe_codpro, detalhe_codpro_novo, detalhe_descri, detalhe_data_fat, detalhe_desc_add, detalhe_zaut_motivo, detalhe_desc_esp, detalhe_vlr_unit, detalhe_notafiscal, detalhe_zclimax, detalhe_vlr_total) VALUES ( '18974', 'P', '1271', '1707', '5227', '', '2008-02-18', '9', '500', '1', '10058370', '66261161505', 'LIXA D'AGUA ADALOX T-223 0320F 225X275 PCT 500', '', '', '', '13.000', '221.51', '', '', '221.51' ) Erro: (1064) 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 'AGUA ADALOX T-223 0320F 225X275 PCT 500', '', '', '', '13.000', '221.51', ' at line 16 Como eu faço pra checar se tem aspas e substituir por \' sendo que já esta dentro de um loop: do { $IDped = $row_rsDET['detalhe_IDped']; $cotacao = $row_rsDET['detalhe_cotacao']; $numped = $row_rsDET['detalhe_numped']; $hier = $row_rsDET['detalhe_hier']; $cod_cliente = $row_rsDET['detalhe_cod_cliente']; $cod_clinovo = $row_rsDET['detalhe_cod_clinovo']; $data = $row_rsDET['detalhe_data']; $item = $row_rsDET['detalhe_item']; $qtd_embal = $row_rsDET['detalhe_qtd_embal']; $qtde = $row_rsDET['detalhe_qtde']; $codpro = $row_rsDET['detalhe_codpro']; $codpro_novo = $row_rsDET['detalhe_codpro_novo']; $descri = $row_rsDET['detalhe_descri']; $data_fat = $row_rsDET['detalhe_data_fat']; $desc_add = $row_rsDET['detalhe_desc_add']; $zaut_motivo = $row_rsDET['detalhe_zaut_motivo']; $desc_esp = $row_rsDET['detalhe_desc_esp']; $vlr_unit = $row_rsDET['detalhe_vlr_unit']; $notafiscal = $row_rsDET['detalhe_notafiscal']; $zclimax = $row_rsDET['detalhe_zclimax']; $vlr_total = $row_rsDET['detalhe_vlr_total']; $insertSQL = " INSERT INTO detalhe_pedido (detalhe_IDped, detalhe_cotacao, detalhe_numped, detalhe_hier, detalhe_cod_cliente, detalhe_cod_clinovo, detalhe_data, detalhe_item, detalhe_qtd_embal, detalhe_qtde, detalhe_codpro, detalhe_codpro_novo, detalhe_descri, detalhe_data_fat, detalhe_desc_add, detalhe_zaut_motivo, detalhe_desc_esp, detalhe_vlr_unit, detalhe_notafiscal, detalhe_zclimax, detalhe_vlr_total) VALUES ( '$id_maior', '$cotacao', '$ped_maior', '$hier', '$cod_cliente', '$cod_clinovo', '$data', '$item', '$qtd_embal', '$qtde', '$codpro', '$codpro_novo', '$descri', // campo que dá o erro '$data_fat', '$desc_add', '$zaut_motivo', '$desc_esp', '$vlr_unit', '$notafiscal', '$zclimax', '$vlr_total' )"; $Result1 = mysql_query($insertSQL, $connNOR2) or die("<b>Erro na busca</b>.\n<br />Query: " . $insertSQL . "<br />\nErro: (" . mysql_errno() . ") " . mysql_error()); $id_maior++; } while ($row_rsDET = mysql_fetch_assoc($rsDET)); Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 18, 2008 use addslahes() http://www.php.net/addslashes Compartilhar este post Link para o post Compartilhar em outros sites
Isabelle_Andrade 0 Denunciar post Postado Fevereiro 18, 2008 Isso é assim mesmo? "$curso5 = $_POST["furso5];" não seria $curso5 = $_POST["curso5]; Compartilhar este post Link para o post Compartilhar em outros sites
villas2 0 Denunciar post Postado Fevereiro 18, 2008 use addslahes() http://www.php.net/addslashes Opa .. muito obrigado pela resposta tão pronta e rápida !! funcionou belezinha. Pra quem quiser saber mais em detalhes eu coloquei na declaração da variável: no lugar de: $descri = $row_rsDET['detalhe_descri']; coloquei: $descri = addslashes($row_rsDET['detalhe_descri']); Valew !!! Compartilhar este post Link para o post Compartilhar em outros sites