Seite 1 von 1

MySQL - Löschen

Verfasst: 31.05.2003 18:23
von Muldini
Hallo, habe ein wenig Probleme mit dem DELETE Befehl.

Ich lasse über eine Liste mit Checkboxen anklicken welche Filme (Es handelt sich um eine Filmliste) gelöscht werden sollen.

Das Übertragen des Index klappt auch. (Durch echo getestet).

Code: Alles auswählen

	foreach($_POST[del] as $film_del)
	{
		if(isset($film_del))
  	{ 	
    	$sql = "DELETE FROM `filmliste_$_COOKIE[nick]` WHERE index = '$film_del' LIMIT 1";
    	mysql_query($sql,$db);
  	}
  }
Weiss nicht weiter hab viel rumprobiert und Suchfunktion hat mir irgendwie auch nicht geholfen.

Anstelle des $_COOKIE[nick] hab ich auch schon den "echten" Namen geschrieben, ändert nichts.

Mfg
Muldini

Verfasst: 31.05.2003 20:22
von Pyramide
Hast du schonmal $sql ausgeben lassen? Oder mysql_error()?

Verfasst: 31.05.2003 23:08
von Muldini

Code: Alles auswählen

echo $sql; == DELETE FROM `filmliste_florian` WHERE index='9' LIMIT 1
Was richtig ist ... er soll die Zeile löschen in der der index = 9 ist.

Error ergibt:
1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'index='9' LIMIT 1' at line 1
Hm keine Ahnung, bin kein MySQL Spezi :/

MfG
Muldini

/*edit
Man muss die Spalte die man löschen will in `` setzen.

Beispiel:
Code:

Code: Alles auswählen

$sql = "DELETE FROM user WHERE `name` = 'hans'"; 


edit*/

Naja, nächstes Problem ;)
Film editieren :D
Wieder lass ich durch eine Liste von checkboxen auswählen welche Filme editiert werden sollen. Auf der nächsten Seite mach ich dann für jeden der Ausgewählten Filme eine Eingabemaske wo die alten zu editierenden Werte vorgegeben sind.

Da nun aber nicht mehr jede checkbox den gleichen Namen hat (wie beim Auswählen), weiss ich nicht wie ich die nächste Datei gestalten kann um eben all diese Daten in die Datenbank zu schreiben.

Für Ideen bin ich wie immer zu haben ;)

Mfg
Muldini

Verfasst: 01.06.2003 14:51
von sica
Der Spaltenname gehoert in Backticks, weil Index ein reserviertes Wort in mySQL ist, sowas sollte man bei der Benamsung der Felder am besten gleich im Kopf behalten, da die Backticks eine mySQL Erweiterung sind und damit das Query mit anderen Datenbanken nicht mehr funktioniert. Fuer eine Liste der reservierten Werte: http://www.mysql.com/doc/en/Reserved_words.html

Verfasst: 01.06.2003 15:10
von Muldini
Jop thx, aber das Problem hatte ich schon gelöst ;)

Siehe edit im vorherigen Beitrag ...

Mfg
Muldini