kein eintrag in Datenbank

  • Themenstarter Themenstarter Perforator
  • Beginndatum Beginndatum
P

Perforator

Hab mir mal ein kleines System gebaut.
Er soll aus 2 Formular eingaben die Daten in ne Datenbank schreiben.
allerdings tut er das nicht...
hab schon die Tabelle mit anderen Eigenschaften erstellt aber er will einfach nichts eintragen.
Lass mir auch nach dem eintragen die Variablen ausgeben und da stehen die werte auch korrekt drin...

hier der code:
PHP:
if($submit){
if (($titel || $inhalt) == ""){
 					 echo "Du musst die Felder schon ausfüllen!";

		} else {
		
  $host    = "localhost";
  $user    = "root";
  $passwd  = "";
  $dbname  = "newssystem";

$connect  = @mysql_connect  ($host, $user, $passwd) or die ("Cannot connect to server");
					@mysql_select_db($dbname) or die ("Cannot connect to database");
 		
		$sql = "INSERT INTO news (titel, inhalt) VALUES ( '$titel', '$inhalt')";

           @mysql_query($sql, $connect);

 
	
		}
	}
?>
 
da du mit deindem @ die Fehler unterdrückst solltest du vieleicht so den SQL-Fehler, falls einer vorliegt, abfragen:

( ! @mysql_query($sql, $connect) ) ? ( die("Fehler: ".mysql_error()) ) : NULL;

das sollte erstmal helfen, weil ich am Statement auf die schnelle keinen Fehler sehe.
 
Kann mich dem Vorgänger nur anschließen - schalt die Fehlermeldungen ein.
Wenn es MySql ist: Lass die Klammern um die Tabellennamen weg.
Vieleicht solltest Du die INSERTs trennen, d. h. erst 1. Tabelle eintragen dann 2.
Weiß nicht ob DB schnallt, was in welche Tabelle eingetragrn werden soll?!
 
also ausgeben tut er mir auch nichts...
habe auch schon ein vorgefertigstes script mal gedownloadet und des is gelaufen und hat alles sauber eingetragen.
hab allerdings noch ein ID Feld in der Datenbank (is auf auto_increment), is dass vielleicht das problem das er nicht kapiert diese ID hochzuzählen?
oder sonst noch welche Fehler?
 
hab jetzt nochmal ne richtige Ausgabe des mysql_error gemacht in der Ausgabedatei...
jetzt zeigt er mir wenn ich was eintragen will folgende meldung:

Column count doesn't match value count at row 1

kann mir da jemand weiterhelfen?

//EDIT:
meine Felder in der Datenbank news:
ID int(11) auto_increment
titel varchar(60)
inhalt varchar(200)
 
Versuch mal die Variante

PHP:
if(!$sql=mysql_query("INSERT INTO news(titel, inhalt) VALUES 
('".$titel."','".$inhalt."')")) { 
    echo mysql_error(); 
} else { 
 
echo "<center><b><p>Ihre Eingaben wurden vollständig weitergeleitet."; 
}
 
habs jetzt schon hinbekommen... thx für die hilfe
es ging aber erst als ich das ID feld gelöscht habe...
warum zählt er mir die ID nicht hoch? kapier des nich
 
int(11)? fuer was steht die 11 da? *g* ... INT == 4 Bits, was vollkommen ausreicht, oder aussreichen sollte ;D

deine id spalte sollte eher so erstellt werden:

Code:
int auto_increment primary key

dann klappts auch.

:-)
 
Zurück