• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Squall2000

Erro ao inserir dados numa base de dados

6 mensagens neste tópico

Ora vivas, como é que vão esses ossos?

Como o titulo do tópico indica, ando para aqui com um problema do catano, a tentar inserir dados numa base de dados, e por mais que procure não encontro erro nenhum. Mais engraçado ainda é que tenho outro script que faz exactamente o mesmo só que numa tabela diferente, e o código foi praticamente copy/paste, e nesse funciona e neste não  :wallbash:

Deixo então aqui o código:

<html>
<head>
<title>Adicionar Comentario</title>
</head>
<body>
<?php
$id = $_GET['id'];
$data = date('d/m/y');
echo '
    <form action="'.$_SERVER['PHP_SELF'].'" method="post">
    Nick: <input type="nick" name="n" border="0" maxlength="15"><br>
    Email: <input type="mail" name="m" border="0" maxlength="15"><br>
Comentário:<br>
<textarea name="q" cols="20"></textarea><br>
    <input type="submit" value="Submit">
    </form>';

$nConnection = mysql_connect("localhost", "root", "");
if (mysql_select_db("blog", $nConnection)) {
	$nick = $_POST['n'];
	$email = $_POST['m'];
	$mensagem = $_POST['q'];
	if ($nick != NULL && $mensagem != NULL) {
		$query = "select * from comentarios";
		$nResult = mysql_query($query, $nConnection);
		$numero = mysql_num_rows($nResult);
		$numero++;
		$add = "insert into comentarios values ($id, $nick, $mensagem, $email, $data)";
		$coiso = mysql_query ($add);
		$reg_ins = mysql_affected_rows();
		echo "$add";
	}
}
mysql_close($nConnection);
?>
</body>
</html>

Alguem consegue encontrar por aqui o que poderá estar mal?

Ficava mesmo, mas mesmo, muito extramente agradecido  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não ligues a essa variável, onde tá a $sql é a $add

Isso foi de outra experiência que fiz, e não me lembrei de mudar. Mas vou já alterar isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sem ver a mensagem de erro, diria que o erro poderá está aqui:

  insert into comentarios values ($id, $nick, $mensagem, $email, $data)

Esta forma reduzida de inserir dados numa tabela tem de garantir que os valores que estão a ser inseridos nas colunas certas, ou seja, a tabela tem mesmo as colunas por esta ordem: id, nick, mensagem, email, data. Outra coisa é o facto das colunas serem char e não terem ' como delimitadores.

Como disse, sem ver a mensagem de erro diria que estas são as duas causas prováveis de erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Um dos problemas é que não obtenho mensagem de erro, era como se tudo funcionasse perfeitamente, simplesmente não insere os dados.

A tabela tem as colunas pela ordem que aí está e tambem já experimentei pôr:

$add = "insert into comentarios values ('$id', '$nick', '$mensagem', '$email', '$data')";

Simplesmente não dá em nada. Eu já fiz isto montes de vezes e não sei porque desta não tá a dar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Querem ouvir a melhor?

Hoje de manha voltei a agarrar no codigo, e sem alterar nada experimentei novamente... Não é que desta já deu? lolol

Obrigado a todos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora