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

Squall2000

Erro ao inserir dados numa base de dados

Recommended Posts

Squall2000

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

Share this post


Link to post
Share on other sites
Squall2000

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.

Share this post


Link to post
Share on other sites
M6

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.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Squall2000

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.

Share this post


Link to post
Share on other sites
Squall2000

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.