Wer findet den Fehler? (Gästebuch)

domiweber

Erfahrenes Mitglied
Hallo
Ich habe ein Gästebuch geschrieben und hatt bis jetzt auch einwandfrei funktioniert.
Doch Dann wollte ich es noch ein wenig erweitern und jetzt funktioniert es einfach nicht mehr...
Habe alles wieder rückgangig gemacht aber es funktioniert immer noch nicht!
Findet jemand den Feheler im folgenden Code?
Der Code ist von der eintrag-einfuegen.php Datei:
PHP:
<html>
<head>
<title>Eintrag hinzuf&uuml;gen</title>
</head>
<body>
<?php

$DatabasePointer=mysql_connect("localhost", "xxx", "xxx");
mysql_select_db("xxx", $DatabasePointer);

$SQL = "INSERT INTO gb (Datum, Name, Url, EMail, Eintrag,) VALUES (NOW(''), '".$_REQUEST['Name']."', '".$_REQUEST['Url']."', '".$_REQUEST['EMail']."', '".$_REQUEST['Eintrag']."')";
mysql_query($SQL, $DatabasePointer);

if(mysql_affected_rows($DatabasePointer)==1)
{
?>
Vielen Dank f&uuml;r Ihren Eintrag!<br>
<a href="index.php?section=gb">Zur&uuml;ck</a> 
<?php
}
else
{
?>
Beim Eintragen ist ein Fehler aufgetreten.<br>
<a href="javascript:history.back();">Zur&uuml;ck</a>
<?php
}
?>
</body>
</html>
 
Ja eine Fehlermeldung gibt es eigentlich nicht nur die, die ich geschrieben habe also einfach die:
HTML:
Beim Eintragen ist ein Fehler aufgetreten.<br>
<a href="javascript:history.back();">Zur&uuml;ck</a>
 
Probier mal Folgendes:
PHP:
<?php

	$DatabasePointer = mysql_connect("localhost", "xxx", "xxx");
	mysql_select_db("xxx", $DatabasePointer);

	$query = "
		INSERT INTO
		        `gb`
		  SET
		        `Datum`   = NOW(),
		        `Name`    = '".mysql_real_escape_string($_REQUEST['Name'])."',
		        `Url`     = '".mysql_real_escape_string($_REQUEST['Url'])."',
		        `EMail`   = '".mysql_real_escape_string($_REQUEST['EMail'])."',
		        `Eintrag` = '".mysql_real_escape_string($_REQUEST['Eintrag'])."'
		";
	mysql_query($query, $DatabasePointer) or die(mysql_error());
	if( mysql_affected_rows($DatabasePointer) == 1 ) {

?>
Vielen Dank f&uuml;r Ihren Eintrag!<br>
<a href="index.php?section=gb">Zur&uuml;ck</a>
<?php

	} else {

?>
Beim Eintragen ist ein Fehler aufgetreten.<br>
<a href="javascript:history.back();">Zur&uuml;ck</a>
<?php

	}

?>
 
Mach mal anstatt
PHP:
mysql_query($SQL, $DatabasePointer);
das hier:
PHP:
mysql_query($SQL, $DatabasePointer) OR DIE mysql_error();
 
Warum macht Ihr eigentlich immer eure SQL-Abfragen Blind? ;-)

Du solltest immer die Fehlermeldung des Datenbankservers abfragen, nachdem du ein Query abgesetzt hast. Nur so kannst du schnell und bequem feststellen, ob bei der Datenbank etwas falsch gelaufen ist.

http://www.lernpilot.de/wbt/kurse/index.php?kurs=mysql01&seite=11

Probier's doch mal, indem du mit mysql_error() die Fehlermeldung abfragst. Dann siehst du auch, dass in deiner Abfrage ein Komma zuviel ist ;-)

Code:
$SQL = "INSERT INTO gb (Datum, Name, Url, EMail, Eintrag,)

Das Komma vor der schließenden Klammer muss weg.

Gruß

Marian
 
Zurück