|
|
|
|
[erledigt] Problem: mysql_query("DELETE... |
jojo
Aufsteiger
Dabei seit: 25.01.2004
Beiträge: 55
|
|
[erledigt] Problem: mysql_query("DELETE... |
|
hi
ich weiss ja, dass ich keine ahnung hab, aber müsste das nicht eigentlich funktionieren?
code: |
1:
2:
3:
4:
|
$DatabasePointer = mysql_connect(ok ich glaub, das schreib ich nicht) or die("Fehler beim kontaktieren der Datenbank. Bitte versuchs nochmal");
mysql_select_db(oder?, $DatabasePointer);
mysql_query("DELETE FROM kasten WHERE id='$id'", $DatabasePointer); |
|
wenn nein, was ist falsch daran'?
schon mal danke im vorraus
mfg jojo
funktioniert mit
php: |
1:
2:
3:
4:
5:
|
"<form action=\"del.php\">",
"<input name=\"id\" type=\"button\" value=\"Beitrag löschen\" onClick=\"self.location.href='del.php?&id=",
$Result->id,
"'\">",
"</form>", |
|
del.php:
php: |
1:
|
mysql_query("DELETE FROM kasten WHERE id='$id'") |
|
__________________ Meine Meinung steht fest!
Bitte, verwirren Sie mich nicht mit Tatsachen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von jojo: 01.10.2005 10:08.
|
|
17.09.2005 09:21 |
|
|
Compuholic
knows where he wants to go tomorrow
Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München
|
|
Dein Problem liegt in der letzten Zeile Deines Codes.
Du mußt für die einfachen Anführungszeichen eine Escape-Sequenz verwenden. Denn PHP interpretiert diese sonst als Symbole.
Versuchs mal damit:
code: |
1:
|
mysql_query("DELETE FROM kasten WHERE id=\'$id\'", $DatabasePointer |
|
|
|
17.09.2005 10:45 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
In dem Fall musst du die einfachen Anführungszeichen auch nicht escapen. Das ist nur nötig, wenn die äußeren Anführungen die gleichen sind wie die inneren.
Da es sich bei der ID auch höchstwahrscheinlich um eine Zahl bzw. einen Integer handeln wird, brauchst du innen nicht mal Quotes.
Oh, und solange du nur eine einzige Datenbankverbindung offen hast, genügen mysql_select_db() und mysql_query() auch ein einziger Parameter. Ganz vereinfacht sieht das dann also so aus:
php: |
1:
2:
3:
4:
5:
6:
|
<?php
$DatabasePointer = mysql_connect($HOST, $USER, $PASS) or die ('Mist...');
mysql_select_db($NAME);
mysql_query("DELETE * FROM kasten WHERE id=$id");
mysql_close($DatabasePointer);
?> |
|
__________________ JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett
|
|
17.09.2005 10:55 |
|
|
jojo
Aufsteiger
Dabei seit: 25.01.2004
Beiträge: 55
Themenstarter
|
|
sorry, aber entweder bin ich viel zu blöd dazu oder das funktioniert echt nicht (beides)
vielleicht hab ich aber auch was ganz falsch gemacht, das muss in der tabelle kasten gelöscht werden und zwar da wo id (in der tabelle) gleich einer varieable $id sein
es ist nur mysql-verbindung offen
aber ich verstehe nicht, was dabei nicht funktioniert
__________________ Meine Meinung steht fest!
Bitte, verwirren Sie mich nicht mit Tatsachen.
|
|
17.09.2005 14:59 |
|
|
Robi
ist aufm Trip
Dabei seit: 26.10.2001
Beiträge: 368
Herkunft: OÖ
|
|
hast du denn eine variable $id gesetzt?
__________________ Irre explodieren aber nicht wenn sie das Sonnenlicht trifft, egal wie Irre Sie sind
(@Black-Star) das ist der typ mit den rechnern wie space-shuttels
|
|
17.09.2005 15:01 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
Hänge doch mal ein
or die(mysql_error());
an alle mySQL-Befehle an (also auch an mysql_select_db() und mysql_query()).
__________________ JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett
|
|
17.09.2005 15:07 |
|
|
jojo
Aufsteiger
Dabei seit: 25.01.2004
Beiträge: 55
Themenstarter
|
|
jo, normal ist die gesetzt, aber irgentwie scheit das nicht zu klappen, hab mir mal ne mail schicken lassen, wo der mir die $id schickt und das war leer, dann ist alles klar
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
|
<?php
$ResultPointer = mysql_query("SELECT id, titel, inhalt FROM kasten", $DatabasePointer);
if(mysql_num_rows($ResultPointer)>0)
{
for($i=0; $i<mysql_num_rows($ResultPointer); $i++)
{
$Result = mysql_fetch_object($ResultPointer);
"<form action=\"del.php\" method=\"post\">",
"<input name=\"id\" type=\"hidden\" value=\"",
$Result->ID,
"\">",
"<td><input name=\"Send\" type=\"submit\" value=\"Beitrag löschen\"></td>",
"</form>",
}
}
?>
|
|
da im formular muss dann wo der fehler sein, aber wo?
__________________ Meine Meinung steht fest!
Bitte, verwirren Sie mich nicht mit Tatsachen.
Dieser Beitrag wurde 7 mal editiert, zum letzten Mal von jojo: 17.09.2005 15:36.
|
|
17.09.2005 15:22 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
Objektattribute sind case sensitive, $Result->ID ist also nicht gleich $Result->id. Prüfe also mal, ob die Spalte groß oder klein geschrieben wird. Du kannst ja außerdem im Quellcode der Seite erkennen, ob da ein Wert eingetragen wurde oder nicht.
Wenn dies der Fall sein sollte, kann es auch an der Übertragung liegen. Wenn du im auswertenden Script direkt auf $id zugreifst, impliziert das, dass der PHP-Parameter register_globals auf ON steht. Ist dies nicht der Fall, musst du via $_POST['id'] auf die Variable zugreifen.
__________________ JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett
|
|
17.09.2005 16:25 |
|
|
|
|
|
|