sYnTaxx Geschrieben 12. Mai 2003 Teilen Geschrieben 12. Mai 2003 Hallo Leute! Ich habe mir eine Eventdatenbank programmiert. Dieses funktioniert im Grunde auch nur bei dem automatischen Löschbefehl läufts noch nicht so ganz... Ich füge neue Datensaätze mit einem eigenen Formular hinzu. Wie gesagt geht einwandfrei... Nun werden die Events nach dem Datum bei der Anzeige sotiert ( timestamp ). Nun würde ich gerne Events löschen die schon stattgefunden haben. Leider funktioniert das nicht so ganz Folgender Error tritt auf: Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/www/web104/html/events.php on line 88 Line 88 ist die Löschezeile: mysql_query($db_name,"DELETE FROM events WHERE id=" .$content["id"]. ""); Ausschnitt: $ak_time = time(); $timestamp = $content["datum"]; if ($timestamp < $ak_time) { mysql_query($db_name,"DELETE FROM events WHERE id=" .$content["id"]. ""); }[/PHP] Habt ihr eine Idee? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 12. Mai 2003 Teilen Geschrieben 12. Mai 2003 Hallo, schreib mal folgendes. mysql_query($db_name,"DELETE FROM events WHERE id=" .$content['id']. ""); [/php] Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 12. Mai 2003 Autor Teilen Geschrieben 12. Mai 2003 bringt leider auch nichts aber war ein versuch wert... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Noxy Geschrieben 12. Mai 2003 Teilen Geschrieben 12. Mai 2003 Ich will zwar nicht ins Raten verfallen aber wie wärs damit: mysql_query($db_name,"DELETE FROM events WHERE id='$content[id]');[/php] Noxy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 12. Mai 2003 Autor Teilen Geschrieben 12. Mai 2003 Original geschrieben von Noxy mysql_query($db_name,"DELETE FROM events WHERE id='$content[id]');[/php] [/b] hm ne das kann nicht gehn trotzdem danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tobitobe Geschrieben 12. Mai 2003 Teilen Geschrieben 12. Mai 2003 Was hälst du denn davon: $ak_time = time(); $timestamp = $content["datum"]; $content=" ".$content["id"]; if ($timestamp < $ak_time) { mysql_query($db_name,"DELETE FROM events WHERE id LIKE '$content'); } [/PHP] Wenn du eine Datenbankanfrage mit einer Variablen stellen möchtest, musst du grundsätzlich mit LIKE arbeiten. Da funktioniert "=" leider nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 12. Mai 2003 Autor Teilen Geschrieben 12. Mai 2003 hm naja also es kommt noch immer das gleiche ich hab nun folgenden code: $ak_time = time(); $timestamp = $content["datum"]; if ($timestamp < $ak_time) { mysql_query($db_name,"DELETE FROM events WHERE id LIKE " .$content["id"]. ""); }[/PHP] Error: [b]Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/www/web104/html/events.php on line 89[/b] Line 89: [b]mysql_query($db_name,"DELETE FROM events WHERE id LIKE " .$content["id"]. "");[/b] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 12. Mai 2003 Teilen Geschrieben 12. Mai 2003 Du hast aber eine Verbindung zur Datenbank mit User und Passwort hergestellt oder? Und Du das die richtige Datenbank ausgewählt oder? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 12. Mai 2003 Autor Teilen Geschrieben 12. Mai 2003 jap es geht alles einwandfrei wenn ich nur den löschbefehl entferne also die grundteile könnt ihr ausschließen naja nur will ich eben den löschbefehl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tobitobe Geschrieben 12. Mai 2003 Teilen Geschrieben 12. Mai 2003 mysql_query($db_name,"DELETE FROM events WHERE id LIKE " .$content["id"]. ""); Das kann ja nicht funktionieren, denn: Wenn du die Variable $content in "" einschließt, interpretiert PHP das Ganze, als wäre der Query zu Ende. Dass du dann nen Fehler bekommst, ist logisch. Also setz das alles mal in '' einfache Anführungszeichen, und bastel die das $content am besten vorher schon zusammen, sonst musst du "id" mit ''id'' (Doppelte, einfache Gänsefüsschen) maskieren. Alles etwas krumm und schief, aber das sollte es eigentlich tun. Ich nehme mal an, dass $content ein Array ist. Wie wäre es, wenn du dann dessen Inhalt in einen eifache Variable schreibst, dann kannst du dir den ganzen Kram mit [] und "" sparen. Ist nur ne potentielle Fehlerquelle. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 12. Mai 2003 Autor Teilen Geschrieben 12. Mai 2003 hm bin ich zu blöd?!? naja also 1. ja das ist ein array so nun hab ich diese beiden sachen gemacht aber geht noch immer net also was meinst du den ich checks wohl net so ganz... $ak_time = time(); $timestamp = $content["datum"]; if ($timestamp < $ak_time) { $delete = $content["id"]; mysql_query($db_name,"DELETE FROM events WHERE id LIKE ' .$delete. '"); }[/PHP] und [PHP]$ak_time = time(); $timestamp = $content["datum"]; if ($timestamp < $ak_time) { $delete = $content["id"]; mysql_query($db_name,"DELETE FROM events WHERE id LIKE " .$delete. ""); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tobitobe Geschrieben 12. Mai 2003 Teilen Geschrieben 12. Mai 2003 Try this one: $ak_time = time(); $timestamp = $content["datum"]; if ($timestamp < $ak_time) { $delete = $content["id"]; mysql_query($db_name,"DELETE FROM events WHERE id LIKE '$delete' "); } [/PHP] Sollte es tun. Ansonsten bin ich auch etwas ratlos. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 12. Mai 2003 Autor Teilen Geschrieben 12. Mai 2003 tjo netter versuch is leider nicht: Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/www/web104/html/events.php on line 90 das ist doch echt schlimm... wieso geht das nur nicht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gurkenpapst Geschrieben 12. Mai 2003 Teilen Geschrieben 12. Mai 2003 Original geschrieben von Tobitobe Wenn du eine Datenbankanfrage mit einer Variablen stellen möchtest, musst du grundsätzlich mit LIKE arbeiten. Da funktioniert "=" leider nicht. Das ist nicht richtig. Ich sehe das Problem hier eher darin, das du $db_name auf den Datenbanknamen, und nicht - wie es richtig währe - auf die Verbindung anwendest. Es wäre vielleicht hilfreich wenn du diesen Abschnitt auch mal posten würdest. gruß gurkenpapst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 12. Mai 2003 Autor Teilen Geschrieben 12. Mai 2003 okay also hier das gesamte script: <?php $db_name = "user_web101_1"; $link = mysql_connect("localhost", "web109", "b4Ag11sFsm8"); if (!$link) die("Kann den Server nicht erreichen."); if (!mysql_select_db("$db_name", $link)) die("Kann die Datenbank nicht anwählen."); $query = "SELECT * FROM events ORDER BY datum limit 0,12"; $result = mysql_query($query, $link); $zeilen = mysql_num_rows($result); $a=1; while($content = mysql_fetch_array($result)){ if($a==1) { $bgcolor="#BE5F00"; $a=$a+1; }else{ $bgcolor="#d8d8d8"; $a=1; } $ak_time = time(); $timestamp = $content["datum"]; if ($timestamp < $ak_time) { $delete = $content["id"]; mysql_query($db_name,"DELETE FROM events WHERE id LIKE '$delete' "); } $datum = date("d.m.Y",$timestamp); echo "<tr>"; echo "<td bgcolor=\"" .$bgcolor. "\"><div align=\"center\"><a href=\"" .$content["url"]. "\" target=\"_blank\"><img src=\"gfx/folder.gif\" width=\"16\" height=\"16\" border=0></a></div></font></td>"; echo "<td width=\"30%\" bgcolor=\"" .$bgcolor. "\"><font size=\"1\" face=\"Verdana, Arial, Helvetica\">" .$datum. "</font></td>"; echo "<td width=\"35%\" bgcolor=\"" .$bgcolor. "\"><font size=\"1\" face=\"Verdana, Arial, Helvetica\">" .$content["event"]. "</font></td>"; echo "<td width=\"30%\" bgcolor=\"" .$bgcolor. "\"><font size=\"1\" face=\"Verdana, Arial, Helvetica\">" .$content["location"]. "</font></td>"; echo "</tr>"; } mysql_close($link); ?>[/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gurkenpapst Geschrieben 12. Mai 2003 Teilen Geschrieben 12. Mai 2003 mysql_query($db_name,"DELETE FROM events WHERE id LIKE '$delete' "); ersetze das $db_name durch $link. Und vertausche die Reihenfolge, d.h. erst die abfrage, dan den resource link_identifier. http://www.php.net/manual/en/function.mysql-query.php und das LIKE durch ein = Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 12. Mai 2003 Autor Teilen Geschrieben 12. Mai 2003 bitte schreib hin was du mit dem tauschen meinst... weis nun net was ich da tauschen soll :confused: okay danke es geht mysql_query("DELETE FROM events WHERE id = '$delete' ", $link); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.