User und sämtliche Bilder löschen

deintag85

Erfahrenes Mitglied
Hallo,

hab folgendes Problem. Ich möchte einen User löschen und alle mit ihm verbundenen Datenbankeinträge und Dateien vom Server.

Mein Code sieht wie folgt aus :

Code:
if ($_GET["id"]=="delconfirm" && $_GET["status"]=="true") {
	$insert = @mysql_query("DELETE FROM users WHERE user='$username'");
	// Datenbank und Dateien löschen
		$abfrage = "SELECT * FROM `img` WHERE user='$username'";
		$ergebnis = mysql_query($abfrage);
		while($row = mysql_fetch_object($ergebnis)) {
			$link = $row->link;
			$code = $row->code;
			$thumbcode1 = $code;
			$thumbcode2 = str_replace("./pics/","./pics/",$thumbcode1);
			$thumbcode3 = str_replace("./pics/","./pics/thumbs/thumb_",$thumbcode1);
			$delete2 = "DELETE FROM `img` WHERE user='$username' AND code='$code'";
			$del = mysql_query($delete2); 
			echo "<center><img src='$scriptsource/js/loadingAnimation.gif'><br>
			<b>Bild wird gel&ouml;scht!</b></center><meta http-equiv='refresh' content='1; URL=mypictures.php'>";  
			unlink($thumbcode2);
			unlink($thumbcode3);
			}
		// Datenbank und Dateien löschen
		session_destroy();
		/*echo '<script type="text/javascript">top.location.reload();</script>';*/
		echo 'Der Benutzer '.$username.' und alle seine Bilder wurden gelöscht!';
	
		}

Also Benutzernamen löscht er, aber er spuckt

"Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web235/html/xxx/account.php"

aus. Was mache ich falsch? Ist der Ansatz von mir denn völlig falsch oder nur die Abfrage ein wenig daneben?

Liebe Grüße
 
Zuletzt bearbeitet:
Du musst mysql_error() direkt nach mysql_query() benutzen, denn wenn dort keine Ressource geliefert wird, liegt der Fehler bereits bei mysql_query().

Und ich meine mysql_error() und nicht error_reporting()
 
Hab also direkt nach dem query das error eingefügt und
Code:
$abfrage = "SELECT * FROM `img` WHERE user='$username'";
		$ergebnis = mysql_query($abfrage) or mysql_error();
		while($row = mysql_fetch_object($ergebnis)) {

voila der fehler ist immernoch derselbe.......................

Code:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result 
resource in /var/www/web235/html/xxx/account.php on line 101
 
Zuletzt bearbeitet:
mysql_error() erzeugt keine Ausgabe, sondern gibt den Fehlertext zurück...du müsstest jenen also per echo etc. ausgeben.
 
Irgendwie komm ich mir mega dumm vor.

Ok hab geschrieben
Code:
echo"mysql_error()";
bzw.
Code:
echo"mysql_error();";

nun schreibt er mir nur nen tatsächlichen echo des wortes "mysql_error()" ;-)

nichts funktioniert!?

Code:
mysql_error()
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web235/html/xxx/account.php on line 102
 
Zuletzt bearbeitet:
Dein Haupt-Problem ist, das du versuchst, Datensätze zu finden, die du vorher gelöscht hast. DELETE FROM wirkt sich sofort aus, es sei denn, du hast einen Datenbank-Server der manuelles Committen ermöglicht.

Ich würde es so machen:

Erst auslesen, dann Bilder löschen, dann User-Datensatz aus der DB entfernen.

Grüße
 
wtf?

das sind doch völlig verschiedene tabellen.

ich lösch einen user aus tabelle "user"

und anschließend will ich alle bilder löschen die dem user gehört haben. diese befinden sich in der tabelle "img"

es ist schon richtig so wie es ist, aber trotzdem geht es nicht ;-)


Code:
echo mysql_error();
?:eek:

jau, nach 100x nachhaken hab ich endlich die richtige hilfe bekommen ;-)

also der fehler lautet

Code:
Unknown column 'user' in 'where clause'

daraus folgt das ich tatsächlich vergessen hab dass die spalte "username" und nicht "user" heisst ;-) problem gefunden...gleich mal ausprobieren


>>>>>>>>>< TOP funktioniert! Danke :-P ;-];-]
 
Zuletzt bearbeitet:
Zurück