BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP [erledigt] Problem: mysql_query("DELETE... » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen [erledigt] Problem: mysql_query("DELETE...
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
jojo jojo ist männlich
Aufsteiger


images/avatars/avatar-1560.jpg

Dabei seit: 25.01.2004
Beiträge: 55

[erledigt] Problem: mysql_query("DELETE...       Zum Anfang der Seite springen

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 jojo ist offline E-Mail an jojo senden Beiträge von jojo suchen
Compuholic Compuholic ist männlich
knows where he wants to go tomorrow


images/avatars/avatar-552.jpg

Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München

      Zum Anfang der Seite springen

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 Compuholic ist offline E-Mail an Compuholic senden Homepage von Compuholic Beiträge von Compuholic suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

      Zum Anfang der Seite springen

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 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
jojo jojo ist männlich
Aufsteiger


images/avatars/avatar-1560.jpg

Dabei seit: 25.01.2004
Beiträge: 55

Themenstarter Thema begonnen von jojo
      Zum Anfang der Seite springen

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 jojo ist offline E-Mail an jojo senden Beiträge von jojo suchen
Robi Robi ist männlich
ist aufm Trip


images/avatars/avatar-2024.gif

Dabei seit: 26.10.2001
Beiträge: 368
Herkunft: OÖ

      Zum Anfang der Seite springen

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 Robi ist offline E-Mail an Robi senden Homepage von Robi Beiträge von Robi suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

      Zum Anfang der Seite springen

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 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
jojo jojo ist männlich
Aufsteiger


images/avatars/avatar-1560.jpg

Dabei seit: 25.01.2004
Beiträge: 55

Themenstarter Thema begonnen von jojo
      Zum Anfang der Seite springen

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 jojo ist offline E-Mail an jojo senden Beiträge von jojo suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

      Zum Anfang der Seite springen

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 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP [erledigt] Problem: mysql_query("DELETE...

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH