Hallo Yadgar,
Ja es wird immer komplizierter wenn man immer uptodate sein will, tue mich auch selbst schwer damit. Aber zum Glück halten sich alle Neuerungen noch in Grenzen und/oder sind abwärtskompatibel.In deinem Fall hier ist es aber was Grundsätzliches. PHP interpretiert keine Variabeln innerhalb ' und so war es auch nicht gemeint, die müssen in dem Query enthalten sein, weil sql die haben möchte. Also eher zb. so xyz.. '".$bundesland."'
Einfache nachvollziehbare Beispiele auch zur Fehlerprüfung findest du hier.
Ich habe es so wie dort beschrieben versucht - und es klappt trotzdem nicht!
Hier die neueste Version meiner Eingaberoutine:
if ($db->connect_error)
{
echo "Fehler bei der Verbindung:".mysqli_connect_error();
exit(1);
}
else
{
$sql = "INSERT INTO land (name) VALUES '".$bundesland."';";
if ($db->query($sql) === TRUE)
echo "$bundesland wurde eingegeben.\n";
else
echo "Fehler: ".$sql."<br>".$db->error;
}
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
Immerhin wird mir das Gleiche auch angezeigt, wenn ich diesen Query auf der MySQL-Konsole eingeben... wenigstens ein bisschen Konsistenz in dieser chaotischen, unberechenbaren, unverstehbaren Computerwelt!