komisches verhalten von php beim löschen von datensätzen in db
backbone
- php
Aloha he folks,
hab mal wieder nen kleines Problem. Ich hab nen kleines Messageprogramm zusammengebastellt und wollte nun die Funktion einbauen das der User seine erhaltene Nachricht gleich nach dem lesen löschen kann. Dafür hab ich nen Button eingebaut auf den er nur klicken brauch und dann soll die Nachricht automatisch gelöscht werden. Nun habe ich das eigentlich alles richtig eingebauch aber es funktioniert nicht. Er löscht die Nachricht einfach nicht :(. Wollte dann mit dem Befehl mysql_affected_rows() überprüfen ob überhaupt was gemacht wird und dann erscheint folgendes Ergebnis: -1.
Nun meine Frage: was soll das??? Heißt das nun der Datensatz wurde gelöscht oder was bedeutet das?
Hier nochmal der Quelltext der wichtigen Dateien, vielleicht ist ja hier nen fehler drinn.
======= show.phtml =======
<?php
include('db_connect.php');
include('used.var.inc.php');
if ($DelBtn) {
mysql_query("DELETE from nachrict WHERE msgid = $d_id");
echo"nachricht gelöscht";
}
if (isset($_COOKIE[uName]) && isset($_COOKIE[uPwd])) {
echo"
<html>
<head>
<title>Nachricht</title>
</head>
<body>
<table border="1">";
while ( $message_array = mysql_fetch_array($message_get_id)) {
$message_array_inhalt = nl2br($message_array[2]);
echo"
<form methood="post" action="$_SERVER[SELF_PHP]">
<tr><th colspan="3" height="50" align="left" valign="top"><p><b>Betreff:</b> $message_array[4]</p></th></tr>
<input type="hidden" name="d_id" value="$message_array[0]">
<tr><td colspan="3"><p>$message_array_inhalt</p></td></tr>
<tr><td><p>actionbar: <input type="submit" name="DelBtn" value="del"><input type="submit" name="AntwortBtn" value="ANTWORT"></p></td></tr>
</table></form>";}
echo"
</body>
</html>";
} else {echo "<html><head><title>log off</title></head><body><p>nicht eingelogt</p></body></html>";}
?>
===== connect.inc.php ======
<?php
$db_host = "localhost";
$db_username = "xxx";
$db_password = "xxx";
$db_name = "use message";
$connect = mysql_connect($db_host,$db_username,$db_password);
if(!mysql_query($db_name,$connect)) die ("<html><head><title>Verbindungsfehler</title><body><p style="color:red;"><b>Connection faild / Verbindung fehlgeschlagen</b></p></body></html>");
?>
===== used.var.inc.php ======
include('db_connect.php');
//============ Nachrichtenabfrage =============
$message_id_s = "SELECT * FROM nachricht WHERE msgid='$msgid'";
$message_get_id = mysql_query($message_id_s);
$message_get_id_del = $message_get_id;
//=============================================
Hi,
mysql_query("DELETE from nachrict WHERE msgid = $d_id");
echo"nachricht gelöscht";
Hast du bei Nacricht nicht nen Rechtschreibfehler?
Bye
Patrick
*aaaaaaaaaaaaaaaaaaahhhhhhhh* ich laufe gleich amock!!!
boh... das ist mir echt nicht aufgefallen :(. und ich suche diesen fehler schon seit mindestens einer woche! hm... und dann nur dieser eine buchstabe...hm...
also erstmal ein ganz großes big thx for the help....
*ich fasse es nicht*
Hi backbone,
kein Problem, ging mir auch schon öfter so...;-)
Bye
Patrick
Hallo Du Namenloser,
darf ich Dich "Der ohne Gruß geht" taufen?
Bei der nächsten Fehlersuche in Zusammenhang mit mySQL gewöhn Dir bitte an, die mysql_error()-Funktion zu nutzen. Dann hättest Du es selber herausgefunden. Garantiert!
Liebe Grüße aus http://www.braunschweig.de
Tom