Björn Lindner: PHP + SQL Experten gesucht für winziges Problem

Hallo,

also, Klaus und ich probierten nun schon fast alles aus.
Ich gebe hier am Besten mal eine Zusammenfassung aller erhaltenen Fehlermeldungen.

<Line 1> $schreib="INSERT INTO Vereine (VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ($Meldenummer, '$Verein', '$Strasse', '$PLZ', '$Ort', $Aussenplaetze, $Hallenplaetze);";
<Line 2> odbc_exec($verbindung,$schreib);
--> Syntax Fehler in INSERT INTO in Line 2

<Line 1> $schreib="INSERT INTO Vereine (VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ($Meldenummer, '$Verein', '$Strasse', '$PLZ', '$Ort', $Aussenplaetze, $Hallenplaetze)";
<Line 2> odbc_exec($verbindung,$schreib);
--> Fehlendes Simikolon am Ende der SQL Anweisung in Line 1

<Line 1> $schreib="INSERT INTO Vereine (VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ('$Meldenummer', '$Verein', '$Strasse', '$PLZ', '$Ort', '$Aussenplaetze', '$Hallenplaetze')";
<Line 2> odbc_exec($verbindung,$schreib);
--> Falscher Datentyp in Line 1

Ich weiß echt nicht mehr weiter.
Für jede Hilfe würde ich eine Freudensprung machen.

MFG Björn

  1. Hallo,

    versuch mal den query in mehrere zeilen zu schreiben, vielleicht kommst dann leichter auf den fehler, IMHO sieht die erste version am besten aus.

    lg
    Ludwig

  2. Hi!

    <Line 1> $schreib="INSERT INTO Vereine (VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ($Meldenummer, '$Verein', '$Strasse', '$PLZ', '$Ort', $Aussenplaetze, $Hallenplaetze);";
    <Line 2> odbc_exec($verbindung,$schreib);
    --> Syntax Fehler in INSERT INTO in Line 2

    Hmm. Mal ins Blaue geschossen: Müßtest Du dort nicht genau die Variante des INSERT nehmen, die Deine per ODBC angesprochene DB benötigt? mySQL würde das obige interpretieren, aber jeder Dialog hat ja so seine Krankheiten.

    Welche DB sprichst Du denn mit dem ODBC an?

    Tschau!

    Michael

  3. Hi,

    Es wurden einige Werte nicht korrekt übergeben und da konnte er den INSERT Bfehl nicht ausführen.
    Danke Klaus.
    Die Übergabe funktioniert jetzt, wenn ich aber eine Vereinsbezeichnung mit Leerzeichen habe, macht er Probleme.

    echo "<meta http-equiv='refresh' content='0; URL=write.php3?i=1
    &Meldenummer=".$Meldenummer."
    &Vereinsbezeichnung=".$Vereinsbezeichnung."
    &Aussenplaetze=".$Aussenplaetze."
    &Hallenplaetze=".$Hallenplaetze."
    &Strasse=".$Strasse."
    &PLZ=".$PLZ."
    &Ort=".$Ort."
    &Ansprechpartner=".$Ansprechpartner."
    &AnsprechStrasse=".$AnsprechStrasse."
    &AnsprechPLZ=".$AnsprechPLZ."
    &AnsprechOrt=".$AnsprechOrt."
    &AnsprechTelp=".$AnsprechTelp."
    &AnpsrechTeld=".$AnsprechTeld."
    &AnsprechFax=".$AnsprechFax."'>";

    $Vereinsbezeichnung heißt jetzt zum Beispiel noch: VfB Flöha
    Nach der Übergabe heißt sie allerdings nur noch VfB und alle nachfolgenden Variablen gibts nicht mehr.

    Weiß darauf noch jemand etwas, oder fällt das unter den Bereich Sonderzeichen, welche man wieder durch ne extrafunktion vorher verbessern muß?
    Da frag ich mich allerdings, warum es bei der ersten Übergabe geht und warum bei der 2. nicht.

    MFG Björn

    1. Hallo Björn,

      $Vereinsbezeichnung heißt jetzt zum Beispiel noch: VfB Flöha
      Nach der Übergabe heißt sie allerdings nur noch VfB und alle nachfolgenden Variablen gibts nicht mehr.

      Weiß darauf noch jemand etwas, oder fällt das unter den Bereich Sonderzeichen, welche man wieder durch ne extrafunktion vorher verbessern muß?
      Da frag ich mich allerdings, warum es bei der ersten Übergabe geht und warum bei der 2. nicht.

      Den Punkt mit 1. und 2. Übergabe verstehe ich nicht, aber in URLs dürfen keine Lehrzeichen vorkommen - du mußt solche Sonderzeichen entsprechend kodieren, indem Du auf die URL noch die Funktion urlencode anwendest, dann sollte es funktionieren.

      Viele Grüße
      Stephan