MySQL - Löschen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Muldini

MySQL - Löschen

Beitrag 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
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Hast du schonmal $sql ausgeben lassen? Oder mysql_error()?
Muldini

Beitrag 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
Benutzeravatar
sica
Mitglied
Beiträge: 23
Registriert: 13.04.2002 12:01
Wohnort: Nuernberg

Beitrag 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
Patrick Preuster
Heaven doesn't want us and Hell is afraid we'll take over
"Wenn man keine Ahnung hat, einfach mal die Fresse halten."
Muldini

Beitrag von Muldini »

Jop thx, aber das Problem hatte ich schon gelöst ;)

Siehe edit im vorherigen Beitrag ...

Mfg
Muldini
Antworten

Zurück zu „Coding & Technik“