Tempter 0 Denunciar post Postado Outubro 16, 2007 Amigos, Estou fazendo um form para adicionar procutos ao meu bd em MySql, porém quando eu preencho o form, dou OK a na tela me aparece que o produto foi cadastrado com sucesso, mas no meu banco o produto não aparece. o código atual está como: <?php include("../../dadosparaconexaonobanco.php"); $subcategorias_id =$_POST["subcategorias_id"];$codigo =$_POST["codigo"];$produto =$_POST["produto"];$extensao = $_FILES["miniatura"]["name"];$extensao = explode(".",$extensao);$extensao = $extensao[1];$miniatura_tmp = $_FILES["miniatura"]["tmp_name"];$miniatura_datada = date("ymdHis");$miniatura_arq = "m_".$miniatura_datada.".".$extensao;$miniatura_nome = "/home/meusite/public_html/upload/m_".$miniatura_datada.".".$extensao;$extensao = $_FILES["ampliacao"]["name"];$extensao = explode(".",$extensao);$extensao = $extensao[1];$ampliacao_tmp = $_FILES["ampliacao"]["tmp_name"];$ampliacao_datada = date("ymdHis");$ampliacao_arq = "a_".$ampliacao_datada.".".$extensao;$ampliacao_nome = "/home/meusite/public_html/upload/a_".$ampliacao_datada.".".$extensao;$especificacao =$_POST["especificacao"];$preco =$_POST["preco"];$peso =$_POST["peso"];$garantia =$_POST["garantia"];$data_cadastro =date("ymdHis");$data_alteracao =$_POST["data_alteracao"];$destaque =$_POST["destaque"];$promocao =$_POST["promocao"];$oferta =$_POST["oferta"];$categoria_id =$_POST["categoria_id"];if(move_uploaded_file($miniatura_tmp,$miniatura_nome)){ if(move_uploaded_file($ampliacao_tmp,$ampliacao_nome)){ $sql_cada = "INSERT INTO produtos VALUES ( '', '$subcategorias_id', '$codigo', '$produto', '$miniatura_arq', '$ampliacao_arq', '$especificacao', '$preco', '$peso', '$garantia', '$data_cadastro', '$data_alteracao', '$destaque', '$promocao', '$oferta', '$categoria_id' )"; $qry_cada = mysql_query($sql_cada) or die(mysql_error()); }}if(mysql_affected_rows()){ header("Location: ../cada_produto.php?msg=ok");}else{ echo "Houve um erro no produto de categoria. Favor entrar em contato com o suporte";}?> Se eu fizer o insert pelo SQLyog, o front-end que estou usando, o produto é adicionado com sucesso. Alquém pode me dar um help? Valeu, muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Wagner Bianchi 0 Denunciar post Postado Outubro 16, 2007 Pelo que vejo sua tabela tem um campo PK que é auto_increment ok? Aborde os campos da tabela no seu INSERT e refaça os testes. Abração!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 16, 2007 Amigo, um dos problemas é que se os valores não estiverem em ordem com a tabela, não vai inserir nunca, ou seja antes do VALUES tu tem que colocar em ordem os campos que irão receber os valores saca !?mysql_query("INSERT INTO tabela (campo1,campo2,campo3) VALUES ('$valor1','$valor2','$valor3')"); Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Outubro 16, 2007 Ummmm, acho que estou entendendo. Mas me tirem uma dúvida, e neste caso: <?php include("../../dadosparaconexaonobanco.php"); $categoria =$_POST["categoria"];$extensao = $_FILES["titulo"]["name"];$extensao = explode(".",$extensao);$extensao = $extensao[1];$titulo_tmp = $_FILES["titulo"]["tmp_name"];$titulo_datada = date("ymdHis");$titulo_arq = $titulo_datada.".".$extensao;$titulo_nome = "/home/meusite/public_html/upload/".$titulo_datada.".".$extensao;if(move_uploaded_file($titulo_tmp,$titulo_nome)){$sql_cada = "INSERT INTO categorias VALUES ( '', '$categoria', '$titulo_arq' )";$qry_cada = mysql_query($sql_cada) or die(mysql_error());}if(mysql_affected_rows()){ header("Location: ../cada_categoria.php?msg=ok");}else{ echo "Houve um erro no cadastro de categoria. Favor entrar em contato com o suporte";}?> com este script acima funciona perfeitamente, consigo adicionar uma categoria.... porém no script anterior não consigo adicionar um produto nem ferrando :/ Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 16, 2007 Basta colocar isso: mysql_query("INSERT INTO tabela VALUES( ' ' , '$valor1','$vlor2')"); isso funciona porque você setou o valor a ser inserido no campo auto_increment, então como você setou um valor em BRANCO, o campo como é AUTO INCREMENT ele já vai inserir o ID autmático, por isso funciona, a de cima não funciona porque teu campo é auto_incremente e tu ta setando um valor para o ID e não pode, pois como o nome já diz ele se auto incrementa. Compartilhar este post Link para o post Compartilhar em outros sites
Wagner Bianchi 0 Denunciar post Postado Outubro 16, 2007 Quando o dado for INT, não se usa aspas para delimitar. A tabela do segundo exemplo tem um campo auto_increment? Manda o erro da consulta... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif ... Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Outubro 16, 2007 Desculpe, mas só não entendi qual a diferença entre o primeiro e o segundo script quanto ao auto increment ? Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Outubro 16, 2007 Ah outra coisa, só pra lembrar, o primeiro script não funciona pela página, se eu uso o mesmo através do SQLyog funciona... Compartilhar este post Link para o post Compartilhar em outros sites