Hmmm...um ehrlich zu sein seh ich auch keinen, und besonders unübersichtlich ist dieses Bisschen Code ja nicht.
Bist Du sicher, dass es nicht funktionierts (Scheissfrage, ok *g*) oder dass dein Fehler nicht irgendwie ganz woanders liegt?
Ok, stellt Euch eine Kundendatenbank vor mit diesen Kundennamen:
torsten
micha
boris
micha_zwo
micha_wasauchimmer
micha_undnocheiner
boris_hatdasauch
torsten_natuerlich
So - nehmen wir an, ich will alle Kunden löschen, die "micha_ ..." heissen, und NUR die.
Ich wollte das mit einer einfachen MySQL-Answeisung und LIKE machen:
Leider hat das nicht so geklappt, wie ich das wollte - er hat *alles* gelöscht, alle Kunden ...Code:$kundennummer="micha_"; mysql_query("DELETE FROM kataloge WHERE kunde LIKE '$kundennummer_%'");
Da liegt irgendwo ein kleiner Fehler, aber ich komm nicht drauf - jemand anderes vielleicht?![]()
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
Hmmm...um ehrlich zu sein seh ich auch keinen, und besonders unübersichtlich ist dieses Bisschen Code ja nicht.
Bist Du sicher, dass es nicht funktionierts (Scheissfrage, ok *g*) oder dass dein Fehler nicht irgendwie ganz woanders liegt?
Ich nehme mal an, php will die Variable $kundennummer_ einsetzen. Die ist leer, also steht im mySQL-Ausdruck "... where kunde like '%' ...". Kein Wunder, daß er da alles löscht...WHERE kunde LIKE '$kundennummer_%'")
Nimm den Unterstrich hinter der Variablenbezeichnung weg - der steht ja eh in der Variablen selber. Und wenn nicht, häng sie vorm mysql-Statement an.
Gruß, der Michl
* * * if you want them to RTFM, make a better FM! * * *
Also eines Vorneweg: da war ein Tippfehler im Beitrag, es sollte so stehen:
Ich dachte, er setzt die Variable dann ein und da würde im Endeffekt das stehen:Code:$kundennummer="micha"; mysql_query("DELETE FROM kataloge WHERE kunde LIKE '$kundennummer_%'");
LIKE 'micha_%'"
Müsste ich das so ändern?
LIKE '"$kundennummer"._%' ?
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
Bin kein PHP'ler, aber ich nehme doch mal an, daß Underlines _ in Variablennamen vorkommen dürfen? Dann müssen - wie in jeder Programmiersprache - Variablennamen und normaler Text eindeutig voneinander getrennt werden - also wäre LIKE '"$kundennummer"._%' korrekt.
Gruß, der Michl
* * * if you want them to RTFM, make a better FM! * * *
Ok, ist erledigt![]()
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)