Auge: Query funktioniert nicht

Beitrag lesen

Hallo

Ich habe es so wie dort beschrieben versucht - und es klappt trotzdem nicht!

Hier die neueste Version meiner Eingaberoutine:

Du solltest dich auf eine Syntax festlegen. Hier vermischst du die objektorientierte mit der prozeduralen Schreibweise der MySQLi-Extension.

  if ($db->connect_error)
  {
    echo "Fehler bei der Verbindung:".mysqli_connect_error();
    exit(1);
  }

Wie im Beispiel in der Doku zu mysqli_connect_error für den objektorientierten Stil (den du ja überall sonst verwendest) gezeigt wird, lautet die korrekte Syntax für diesen Abschnitt:

  if ($db->connect_error)
  {
    echo "Fehler bei der Verbindung:".$db->connect_error;
    exit(1);
  }
    $sql = "INSERT INTO land (name) VALUES '".$bundesland."';";

Als Fehlermeldung wurde ausgegeben:

Fehler: INSERT INTO land (name) VALUES 'Schleswig-Holstein'; You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''Schleswig-Holstein'' at line 1

Nun sieht man es klar, wie Kloßbrühe. Entweder du benutzt die spezielle MySQL-Schreibweise "INSERT INTO land SET name = '".$bundesland."';" oder die SQL-Standardschreibweise "INSERT INTO land (name) VALUES ('".$bundesland."');". Beachte das Klammerpaar, das VALUES folgt und alle Werte eines Datensatzes (bei dir ist es einer) einschließt.

Und wenn du nun noch die Maskierung durchführst, sollte der Code funktionieren. Das Beispiel für den objektorientierten Stil enthält die relevante Zeile

# Code aus dem Beispiel
$city = $mysqli->real_escape_string($city);
# an deinen Code angepasster Code des Beispiels
$bundesland = $mysqli->real_escape_string($bundesland);

Bis auf die andere Syntax ist das das Gleiche, als hättest du die Bundesländer 2010 in einer MySQL-Datenbank speichern wollen.

Tschö, Auge

--
Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
Hohle Köpfe von Terry Pratchett