Hallo liebe Forumer,
ich muss mich doch mal an euch Profis wenden.
Für mein Studium muss ich eine Videodatenbank erstellen. In dieser werden aus mysql Daten ausgelesen.
Über PHP können die Daten verändert oder gelöscht werden. (Dies funktioniert).
Mein Problem: Wenn ich neue Daten in die Datenbank schreiben möchte, bekomme ich immer folgenden Fehler:
Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'hallo' in 'where clause' in C:\xampp\htdocs\Videoverwaltung\klassen\Video.php: 110 Stack trace: #0 C:\xampp\htdocs\Videoverwaltung\klassen\Video.php( 110): PDO->query('SELECT * FROM v...') #1 C:\xampp\htdocs\Videoverwaltung\func\func_anlegen_ video.php(23): Video->anlegen() #2 {main} thrown in C:\xampp\htdocs\Videoverwaltung\klassen\Video.php on line 110
Der Fehler tritt auf, wenn ich im Filmtitel Text eingeben (In MySQL ist das Feld titel mit varchar(100) deklariert. Gebe ich eine Zahl ein, wird das neue Video gespeichert.......
Vielleicht könnt Ihr mir hier einmal unter die Arme greifen.
Hier noch die function:
Danke vorab für eure Mühen.
Gruß
Andreas
ich muss mich doch mal an euch Profis wenden.
Für mein Studium muss ich eine Videodatenbank erstellen. In dieser werden aus mysql Daten ausgelesen.
Über PHP können die Daten verändert oder gelöscht werden. (Dies funktioniert).
Mein Problem: Wenn ich neue Daten in die Datenbank schreiben möchte, bekomme ich immer folgenden Fehler:
Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'hallo' in 'where clause' in C:\xampp\htdocs\Videoverwaltung\klassen\Video.php: 110 Stack trace: #0 C:\xampp\htdocs\Videoverwaltung\klassen\Video.php( 110): PDO->query('SELECT * FROM v...') #1 C:\xampp\htdocs\Videoverwaltung\func\func_anlegen_ video.php(23): Video->anlegen() #2 {main} thrown in C:\xampp\htdocs\Videoverwaltung\klassen\Video.php on line 110
Der Fehler tritt auf, wenn ich im Filmtitel Text eingeben (In MySQL ist das Feld titel mit varchar(100) deklariert. Gebe ich eine Zahl ein, wird das neue Video gespeichert.......
Vielleicht könnt Ihr mir hier einmal unter die Arme greifen.
Hier noch die function:
PHP-Code:
public function anlegen()
{
if ($this->titel != null)
{
$db = DB::getVerbindung();
$sql = "SELECT * FROM videos WHERE titel=$this->titel;";
$abfrage = $db->query($sql);
$ergebnis = $abfrage->fetch();
if (!empty($this->beschreibung) && !empty($this->erscheinungsjahr) && $this->titel !=$ergebnis['titel'] && $this->beschreibung !=$ergebnis['beschreibung'])
{
$sql = "INSERT INTO videos (titel, beschreibung, erscheinungsjahr, leihkosten, kaufkosten, hinzugefuegt_bearbeitet, letzte_aenderung_durch)
VALUES ('$this->titel', '$this->beschreibung', '$this->erscheinungsjahr', '$this->leihkosten', '$this->kaufkosten', '$this->hinzugefuegt_bearbeitet', '$this->letzte_aenderung_durch');";
$db->query($sql);
echo 'Sie haben ein neues Video ' . $this->titel . ' hinzugefügt!';
}
elseif ($this->titel == $ergebnis['titel'])
{
echo 'Titel bereits vorhanden';
}
elseif (empty($this->erscheinungsjahr) || empty($this->leihkosten) || empty($this->kaufkosten))
{
echo 'Sie haben kein Erscheinungsjahr oder Leihkosten oder Kaufkosten angegeben.';
}
}
else
{
echo "Keine Daten angegeben!";
}
}
Gruß
Andreas
Kommentar