nach langer Zeit befasse ich mich malwieder mit PHP und MySQL. Ich möchte einen kleinen "Eventplaner" basteln. Keine große Sache also.
Soweit steht auch schon alles. Nur eine Sache gibt es, die ich nicht in den Griff kriege.
Ich möchte, dass man auf einer Admin-Seite den Status der Teilnehmer ändern kann. Es gibt folgende Möglichkeiten: "Warteschlange" (=0901), "Bestätigt" (=0902) und "Abgewiesen/Ersatzbank" (=0903). Die Werte in den Klammern sind die Werte die in der DB gespeichert werden sollen.
Die Werte werden über ein Formular per POST weitergegeben, und in der Zieldatei direkt ins SQL eingebaut:
$sql = "UPDATE ev01.eventsetup SET attendeestatus = '".$_POST['attendeestatus']."' WHERE eventID = ".$_POST['eventID']." AND eventattendees = ".$_POST['eventattendees']." LIMIT 1 ";
Das ist also mein SQL-Code.
Ich will also die Tabelle 'eventsetup' Spalte 'attendeestatus' mit einem Wert (0901, 0902, 0903) updaten, aber nur bei dem Mitglied, welches an dem Event X (eventID) teilnimmt. Da mehrer Mitglieder zu einer eventID gehören, soll die Spalte geupdatet werden, in der sowohl die eventID als auch den Name (eventattendees) mit den via POST übergebenen Variablen übereinstimmen.
Doch was ist das? Folegende Fehlermeldung erhalte ich beim ausführen des Skripts:
Etwas stimmte mit dem Query nicht: Unknown column 'Testname' in 'where clause'
Dabei ist der Wert "Testname" in der Spalte "eventattendees" vorhanden, und auch die übermittelte eventID ist korrekt.
Warum ist die Spalte also unbekannt? Mache ich was falsch? Oder denke ich gar komplett falsch? Geht das alles gar nicht? Muss ich jetzt jämmerlich weinen, oder wisst ihr weiter?
Falls es helfen sollte, hier der ganze Code aus dem Skript, welches die DB updaten soll:
<?php $db = @new mysqli('localhost', 'root', '', 'ev01'); if (mysqli_connect_errno()) { die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')'); } $sql = "UPDATE ev01.eventsetup SET attendeestatus = '".$_POST['attendeestatus']."' WHERE eventID = ".$_POST['eventID']." AND eventattendees = ".$_POST['eventattendees']." LIMIT 1 "; $result = $db->query($sql); if (!$result) { die ('Etwas stimmte mit dem Query nicht: '.$db->error); } while ($row = $result->fetch_assoc()) { echo $sql; } $result->close(); unset($result); ?>
Gruß
Martin