Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Como fazer uma inclusao em uma tabela usando mysql e


Alessandra (Jundiai)

Pergunta

Estou aprendendo agora a utilizar o php e estou com um problema. Estou fazendo um codigo para inclusao de dados em uma tabela em mysql atraves do php, mas so aparece a mensagem que não e possivel incluir. Criei documento salvo como .htm onde exibe todos os "edits" para digitacao dos dados e outro documento salvo como .php para inserir na tabela. Estou enviando os codigos, se alguém puder me ajudar, agradeco.

<?php
//abre conexao
include "Abreconexao.inc";
$codlivro = $_POST['txtcodlivro'];
$codcat = $_POST['txtcodcat'];
$titulo = $_POST['txttitulo'];
$autor = $_POST['txtautor'];
$npaginas = $_POST['txtnpaginas'];
$formato = $_POST['txtformato'];
$preço = $_POST['txtpreco'];
$resenha = $_POST['txtresenha'];
$dia = $_POST['txtdia'];
$mes = $_POST['txtmes'];
$ano = $_POST['txtano'];
$capa = $_POST['txtcapa'];

$codlivro = trim($codlivro);
$codcat = trim($codcat);
$titulo = trim($titulo);
$autor = trim($autor);
$npaginas = trim($npaginas);
$formato = trim($formato);
$preço = trim($preço);
$resenha = trim($resenha);
$dtlanc = trim($ano)+trim($mes)+trim($dia);
$capa = trim($capa);
//cria sentença sql
$sql = "insert into livros (codlivro, codcat, titulo, autor, npaginas, formato, preço, resenha, dtlanc, capa)";
$sql = $sql . " values (\'$codlivro\',\'$codcat\',\'$titulo\',\'$autor\',\'$npaginas\',\'$formato\',\'$preço\',\'$resenha\',\'$dtlanc\',\'$capa\')";
$rs = mysql_query($sql, $conexao) or die ("Não foi possível executar a     instrução insert");
?>
<html>
<head>
<title>Inserindo dados na tabela livros</title>
</head>
<body>
<font face="arial" size="2"><b>O livro <?php echo $titulo ?> foi inserido com sucesso</font></b><br><br>
<a href="FormInclusao.htm="> Clique aqui para inserir um novo livro</a>
</body>
</html>
<?php
mysql_close($conexao);
?>

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Você não precisa escapar os apóstrofes ali dentro do sql...

$sql = "insert into livros (codlivro, codcat, titulo, autor, npaginas, formato, preço, resenha, dtlanc, capa)";
$sql = $sql . " values ('$codlivro','$codcat','$titulo','$autor','$npaginas','$formato','$preço','$resenha','$dtlanc','$capa')";
Troque:
$rs = mysql_query($sql, $conexao) or die ("Não foi possível executar a     instrução insert");
Por
$rs = mysql_query($sql, $conexao) or die (mysql_error());

Isso não vai corrigir o problema, apenas vai fazer o MySQL informar qual o erro.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu fiz essa alteração, e estou fazendo a inclusão com codigo do livro 7848, codigo categoria 6, titulo faça um site - E-commerce, autor Carlos Antonio José Oliviero, número de paginas 288, formato 17 x 24 cm, preço 46.00, resenha no prelo, data lançamento 15-10-2001 e imagem da capa capa_inter04.gif.

Mas agora aparece a mensagem : 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 'um site - E-commerce,Carlos Antonio José Oliviero,288,17 x 24 cm,46.00,no prelo,' at line 1

Link para o comentário
Compartilhar em outros sites

  • 0

Eu fiz essa alteração, e estou fazendo a inclusão com codigo do livro 7848, codigo categoria 6, titulo faça um site - E-commerce, autor Carlos Antonio José Oliviero, número de paginas 288, formato 17 x 24 cm, preço 46.00, resenha no prelo, data lançamento 15-10-2001 e imagem da capa capa_inter04.gif.

Mas agora aparece a mensagem : 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 'um site - E-commerce,Carlos Antonio José Oliviero,288,17 x 24 cm,46.00,no prelo,' at line 1

Link para o comentário
Compartilhar em outros sites

  • 0

Não vejo o que poderia estar dando problema... você está usando o mysql_real_escape_string nas variáveis que você joga na query??? Se tiver algum caractere especial ali pelo meio pode dar pau... para utilizar, por exemplo é:

/*
SEU CÓDIGO...
*/
$codlivro = mysql_real_escape_string($codlivro);
$codcat = mysql_real_escape_string($codcat);
$titulo = mysql_real_escape_string($titulo);
//... tem que fazer isso com todas as variáveis que vão na query...

$sql = "insert into livros (codlivro, codcat, titulo, autor, npaginas, formato, preço, resenha, dtlanc, capa)";
$sql = $sql . " values ('$codlivro','$codcat','$titulo','$autor','$npaginas','$formato','$preço','$resenha','$dtlanc','$capa')";
/*
SEU CÓDIGO

*/

Link para o comentário
Compartilhar em outros sites

  • 0

Erro no campo data

$dia = $_POST['txtdia'];

$mes = $_POST['txtmes'];

$ano = $_POST['txtano'];

$dtlanc = trim($ano)+trim($mes)+trim($dia);

$dtlanc = mysql_real_escape_string($ano)+mysql_real_escape_string($mes)+mysql_real_escape_string($dia);

$sql = "insert into livros (codlivro, codcat, titulo, autor, npaginas, formato, preço, resenha, dtlanc, capa)";

$sql = $sql . " values ('$codlivro','$codcat','$titulo','$autor','$npaginas','$formato','$preço','$resenha','$dtlanc','$capa')";

Estou cadastrando a data 15-10-2001, mas aparece o erro Incorrect date value: '2026' for column 'dtlanc' at row 1

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...