MYSQLI datenabsätze aus MYSQL löschen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgeben
code
datenbank
ergebnis
erzeugen
folgender fehler
funktioniert code
kontakt
message
modernisieren
nachricht
objekt
problem
record
run
schliessen
statement
text
vorbereiten
zeile
-
Hallo Zusammen,
Ich bin grade dabei meinen Admin Bereich zu modernisieren und habe das problem das ich mit mysqli nicht löschen kann da die gewöhnliche zeile nicht mehr funktioniert:
mysqli_query("DELETE FROM kontakt WHERE id='$id'");
Kann mir jemand sagen wie das mit mysqli aussieht?
Außerdem gibt er mir keines von den beiden möglichen echos aus wenn ich auf den Button drücke.
Hier mal der ganze Code:
<html> <head> <meta charset="utf-8"> <style type="text/css"> .td{ min-width:120px; max-width:300px; } .td2{ width:30px; text-align:center; } </style> </head> </html> <?php // Neues Datenbank-Objekt erzeugen $db = @new mysqli( 'mysql.lima-city.de', '', '', '' ); // Pruefen ob die Datenbankverbindung hergestellt werden konnte if (mysqli_connect_errno() == 0) { $server =$_SERVER['PHP_SELF']; // Query vorbereiten und an die DB schicken $sql = 'SELECT * FROM kontakt'; $ergebnis = $db->query( $sql ); // Anzahl gefunde Datensaetze ausgeben echo "<center><form method='post' action='$server'><p>Es wurden " .$ergebnis->num_rows. " Einträge gefunden.</p>"; // Ergebnisse ausgeben echo"<table border='1'><tr><th>E-mail:</th><th>Name:</th><th>Nachricht:</th><th>Löschen:</th></tr>"; while ($zeile = $ergebnis->fetch_object()) { $text =nl2br($zeile->text); echo "<tr><td class='td'>$zeile->email</td><td class='td'>$zeile->username</td><td class='td'>$text</td><td class='td2'><input name='delete_message' type='checkbox' value='$zeile->id' />$zeile->id</td></tr>"; } // Resourcen freigeben echo"</table><br />"; echo"<input type='submit' name='delete' value='Nachrichten Löschen' /></form></center>"; $ergebnis->close(); //Löschen von Nachrichten if(isset($_POST["delete"])){ $id =strip_tags($_POST["delete_message"]); if($action=='delete'){ //if the user clicked ok, run our delete query //$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection $query = "DELETE FROM kontakt WHERE id = ".$mysqli->real_escape_string($_GET['post']).""; //execute query if( $mysqli->query($query) ){ //if successful deletion echo "Message Delete was deleted."; }else{ //if there's a database problem echo "Database Error: Unable to delete record."; } } } } else { echo"False"; // Es konnte keine Datenbankverbindung aufgebaut werden echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: <span class="hinweis">' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</span>'; } // Datenbankverbindung schliessen $db->close(); ?>
LG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo marvinkleinmusic,
Dein Fehler liegt glaube ich hier:
if($action=='delete')
An dieser Stelle verwendest du die uninitialisierte Variable $action, deshalb wird das if-Statement erst gar nicht ausgeführt.
Irgendwo musst du folgendes ausführen, damit der code funktioniert:
$action = $_POST["action"];
Dann wird das if-Statement erst ausgeführt. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage