klaus: Klaus bitte nochmal wegen dem Semikolon

Beitrag lesen

hallo Björn,

ich hab mir die Datei 'write.php' angesehen.
In Zeile 49 steht:

$schreib="INSERT INTO Vereine values(VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ($Meldenummer, '$Verein', '$Strasse', '$PLZ', '$Ort', $Aussenplaetze, $Hallenplaetze);";

Das funktioniert so nicht.

Du mußt das Statement richtig formulieren. Bei insert Statements gibts zwei Varianten
1.) INSERT INTO tabelle VALUES(1,2,3,'Texte',...)
Dabei mußt Du unbedingt in der Klammer nach 'VALUES' _alle_ Felder in der Rehenfolge angeben, wie sie in der Datenbank definiert worden sind. wohlgemerkt _alle_.
2.) INSERT INTO tabelle (feldname, feldname,..) VALUES (1,2,3,'Texte',...)
Der UNterschied ist, daß zwischen Tabellennamen und 'VALUES' eine LIste jener Feldnamen angegeben wird, welche mit den Werten befüllt werden, welche nach VALUES angegeben sind.
Dies ist die wesentlich flexiblere Art des Statements. SO kann man z.B. auch gewissen Feldinhalte leer lassen.
Du mußt aber darauf achten, daß die Feldnamen und die Werte in der selben Reihenfolge angegeben sind. Außerdem müssen Werte für alle Felder angegeben werden, welche mit dem Attribut 'NOT NULL' versehen sind, bzw. wenn in der Datenbank irgendwelche anderen Regeln, Constraints oder solche Sachen definiert worden sind.

In obigen statement kommt das Schlüsselwort 'VALUES' zweimal vor. Einmal bei der Angabe der Feldnamen, einmal bei den Werten selbst.
es müßte so lauten:
$schreib="INSERT INTO Vereine (VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ($Meldenummer, '$Verein', '$Strasse', '$PLZ', '$Ort', $Aussenplaetze, $Hallenplaetze);";

unter http://www.teamone.de/selfaktuell/artikel/odbc.htm#a7 sind einige Links angeführt, welche Dir bei dem Verständnis rund um SQl sicherlich weiterhelfen können.

und wenns gar nicht mehr get
nciht verzagen, weiter fragen
('Dumme Fragen sind jene, die nicht gestellt werden.' Sagte mein Mathe-Professor immer)

Grüße
Klaus