Eine Fehlermeldung die mir unbegreiflich erscheint

mkoeni1

Erfahrenes Mitglied
Hallo Gemeinde,

ich habe folgendes PHP Skript geschrieben, um in eine Datenbank Daten anzulegen.

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 	 "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <title>Beispieldatenbank Buch</title>
 </head>
 <body>
  <!-- Inhalt der Datei -->
 	 <h3>Datensatz einf&uuml;gen</h3>
  <hr>
  <?php
 	 $link=mysql_connect("localhost","root","test0815")
 		or die("Keine Verbindung");
 
 	mysql_select_db(test);
 	
 	$anfrage ="INSERT INTO buch VALUES ('$ISBN','$Autor','$Titel','$VerlagsNr')";
 	if ($ergebnis=mysql_query($anfrage))
 		{
 			echo "Datensatz eingef&uuml;gt";
 		}
 	else
 		{
 			echo "Fehlermeldung=".mysql_error();};
 		mysql_close($link);
 	?>
 	
 	<hr>
 	
 	<a href='eingabe.html'>Neue Eingabe</a><br>
 	<a href='start.html'>Startseite</a>
 		
  
 </body>
 </html>

Leider bekomme ich immer folgende Fehlermeldung, im Forum habe ich dazu nichts gefunden.


Fehlermeldung=Column count doesn't match value count at row 1



Die Datenbank 'test' in die die Werte sollen sieht so aus:

id int(11)
ISBN char(255)
Autor char(255)
Titel char(255)
VerlagsNr char(255)


Das ärgert mich. Wer kann mir einen Tip geben ?

Gruß Matze

 
Die Fehlermeldung ist Dir unbegreiflich?
Eigentlich sollte doch klar sein was gemeint ist. Deine Tabelle hat 5 Spalten, und Du uebergibst nur 4.
Falls Du weniger Spalten als in der Tabelle vorhanden sind uebergibst musst Du die Spaltennamen angeben in die eingetragen werden soll.
 
OK,

das mit den unterschiedlichen Werten der Spalten und der Übergabe geht jetzt.
Vielen Dank für deine Hilfe.

Jetzt übergebe ich an 4 Spalten 4 Werte, das Script sagt meldet " Datensatz eingefügt".

Aber dieser Datensatz erscheint nicht in meiner Datenbank ? Obwohl eine weitere leere Zeile in der DB dazugekommen ist. Allerdings ohne einen Wert.


Weisst du dazu auch einen Tip ?


Gruß Matze
 
Dann sind wohl Deine Variablen leer.
Das wird wahrscheinlich register_globals zusammenhaengen, ich nehme an, dass dies off ist und Du fuer register_globals=on programmiert hast.
Werte die per POST uebergeben werden muessen aus dem Array $_POST geholt werden, Werte die im URL uebergeben werden kommen aus dem Array $_GET.
 
Hallo Dennis,

großartige Leute mit großartigen Tipps sitzen bei tutorials.de im Forum.

Vielen herzlichen Dank und einen guten Rutsch ins neue Jahr 2006 wünsche ich dir.



Gruß
Matze
 
Zurück