Einzelnen Datensatz löschen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Einzelnen Datensatz löschen

    Hey,
    ich möchte eine Art Gästebuch programmieren. Dort sollen vorhandene Einträge wieder gelöscht werden, indem in der Datenbank nach einem Titel, der vorher in ein Formular eingegeben wurde, gesucht wird.
    Wenn ich einen Titel eingebe, den es gibt, wird dieser nachher nicht gelöscht.
    Ich habe hier folgenden Code, könnt ihr mir vielleicht helfen?


    Quellcode

    1. $db = mysql_connect("***","***","***");
    2. if ($db) {
    3. echo "Erfolgreich mit der Datenbank verbunden!<br />";
    4. } else {
    5. echo "Verbindung mit Datenbank fehlgeschlagen!<br />";
    6. }
    7. if (mysql_select_db(aspirating)) {
    8. echo "Erfolgreich mit der Datenbanktablle verbunden!<br />";
    9. } else {
    10. echo "Datenbanktabelle konnte nicht ausgewählt werden!<br />";
    11. }
    12. $sql = "SELECT * FROM Daten";
    13. $res_id = mysql_query($sql);
    14. echo "Vorhandene Datensätze : ";
    15. while ($output = mysql_fetch_array($res_id)){
    16. echo $output['Titel']." ";
    17. }
    18. echo "<form action='' method='POST'>";
    19. echo "<input type='text' name='suche'>";
    20. echo "<input type='submit' value='Datensatz löschen'>";
    21. echo "</form>";
    22. $_POST['suche'] = $id;
    23. $res = "DELETE FROM Daten WHERE Titel = '$id' ";
    24. while( $_POST['suche'] != "") {
    25. $loeschen = mysql_query($res);
    26. }
    27. mysql_close($db);
    Alles anzeigen
  • deine variablenzuweisung ist falsch herum.
    Außerdem weiß ich nicht wozu du eine Schleife benutzt (diese wird endlos laufen)
    Außerdem bist du nicht gewappnet gegen SQL Injections.

    Lösung;

    Quellcode

    1. if(isset($_POST['suche'])) {
    2. $id = mysql_real_escape_string($_POST['suche']);
    3. $res = "DELETE FROM Daten WHERE Titel = '$id' ";
    4. mysql_query($res);
    5. }