Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Hilfe!!!!!!!!!! (MySQL DELETE)

Empfohlene Antworten

Wer weiß, warum das nicht funktioniert:

$result = mysql_query("DELETE FROM allgemein WHERE nachname = $nachname AND vorname = $vorname"); 

:confused: :confused: :confused: :confused:

Dieselbe Anweisung in phpMyAdmin funktioniert. In PHP nicht! :(

MfG

backdraft

Hallo,

ich schaetze mal du bekommst die WErte aus einem html-Formular.

Schreib mal die Variablen so:

$result=mysql_query("delete from kalender where eintrag=\"$nummer\" ");

bei mir hauts so hin.

Hi,

$result = mysql_query("DELETE FROM allgemein WHERE nachname = '".$nachname."' AND vorname = '".$vorname.'")

Versuchs mal mit den Hochkommas. Bei mir musste ich das immer so schreiben. Das erste Hochkomma ist ein ' das zweite ein " und umgekehrt.

Also ' " .$Variable. " '

MfG:)

Original geschrieben von DanielH

Hi,

$result = mysql_query("DELETE FROM allgemein WHERE nachname = '".$nachname."' AND vorname = '".$vorname.'")

Versuchs mal mit den Hochkommas. Bei mir musste ich das immer so schreiben. Das erste Hochkomma ist ein ' das zweite ein " und umgekehrt.

Also ' " .$Variable. " '

MfG:)

Das ganze solte auch ohne "extr" doppelt Hochkommas funktionieren.. also so:

$result = mysql_query("DELETE FROM allgemein WHERE nachname = '$nachname' AND vorname = '$vorname'")

Die Hochkommas sind IMO für die MySQL Abfrage zwingend notwendig, da Du eine Abfrage mit einem String machst....

Vielen Dank!

Funktioniert!

Original geschrieben von BigMac

Das ganze solte auch ohne "extr" doppelt Hochkommas funktionieren.. also so:

$result = mysql_query("DELETE FROM allgemein WHERE nachname = '$nachname' AND vorname = '$vorname'")

Die Hochkommas sind IMO für die MySQL Abfrage zwingend notwendig, da Du eine Abfrage mit einem String machst....

Gibbet da unterschiede in den PHP-Distributionen ? Bei mir hat der mir ohne zusätzliches " (also doppeltes) immer Fehlermeldungen um die Ohren gehauen.

:confused: :confused: :confused:

MfG

Ich hab da auch gleich noch ne Frage ;):

Ich habe eine Tabelle 'allgemein':

| mitarbeiternr | nachname | vorname |.....

und eine Tabelle 'telefonliste':

| mitabeiternr | extern | intern |

Wenn ich jetzt in der Tabelle 'allgemein' den Datensatz

von "Karl Müller" lösche, dann soll in der Tabelle

'telefonliste' gleichzeitig der Datensatz mit der mitarbeiternr

von "Karl Müller" gelöscht werden.

Wie geht das?

Danke!!!

backdraft

Original geschrieben von backdraft

Ich hab da auch gleich noch ne Frage ;):

Ich habe eine Tabelle 'allgemein':

| mitarbeiternr | nachname | vorname |.....

und eine Tabelle 'telefonliste':

| mitabeiternr | extern | intern |

Wenn ich jetzt in der Tabelle 'allgemein' den Datensatz

von "Karl Müller" lösche, dann soll in der Tabelle

'telefonliste' gleichzeitig der Datensatz mit der mitarbeiternr

von "Karl Müller" gelöscht werden.

Wie geht das?

Danke!!!

backdraft

Also ein Vorschlag:

z.B. Eingabe des zu löschenden Datensatzes:

Karl Müller

Schritt1. Select Mitarbeiternr from allgemein where Nachname = Müller usw. Und die Mitarbeiternr in einer Variable speichern

Schritt2.

Zwei Delete anweisungen, einmal in Tabelle allgemein mit Name Vorname und/oder Mitarbeiternr und einmal in Tabelle telefonliste mit der Mitarbeiternr als Vergleich.

Eine Lösung mit ner Verschatelten SQL-Anweisung fällt mir jetzt nicht ein. Also mySQL Profis- mal bidde posten :D

MfG

Original geschrieben von backdraft

Ich hab da auch gleich noch ne Frage ;):

Ich habe eine Tabelle 'allgemein':

| mitarbeiternr | nachname | vorname |.....

und eine Tabelle 'telefonliste':

| mitabeiternr | extern | intern |

Wenn ich jetzt in der Tabelle 'allgemein' den Datensatz

von "Karl Müller" lösche, dann soll in der Tabelle

'telefonliste' gleichzeitig der Datensatz mit der mitarbeiternr

von "Karl Müller" gelöscht werden.

Wie geht das?

Danke!!!

backdraft

Hättest du einen Datenbankserver der Subselects kann dann wäre das ganze wie folgt zu tun:

delete from telefonlist where mitarbeiternr=(select mitarbeiternr from allgemein where nachname='Müller' and vorname='Karl')

delete from allgemein where nachname='Müller' and vorname='Karl'

Leider kann MySQL dies nicht. Daher musst du das in 3 Schritten tun:

#Mitarbeiternr holen und merken

select mitarbeiternr from allgemein where nachname='Müller' and vorname='Karl'

#Telefonliste löschen

delete from telefonlist where mitarbeiternr=$mitarbeiternr

#Allgemein löschen

delete from allgemein where mitarbeiternr=$mitarbeiternr

Das ganze ist jetzt mal prinzipiell. D.h. du musst das schon nocht ordentlich in PHP verpacken incl. Quoting siehe oben.

Eins möchte ich zu der Reihenfolge der Operationen noch anmerken: Zuerst werden die Detail-Sätze gelöscht. Danach wird auf Fehler geprüft und erst dann der Master Satz gelöscht. Fehler können immer auftreten auch wenn es hier unwarscheinlich ist. Dann hängen die Detail Sätze aber wenigstens nicht in der Luft denn der Mastersatz ist noch da. Anders wäre es wenn man die Reihenfolge vertauschen würde. Und ganz fatal bei dem Subselect von oben weil dann könnte die telefonlisten-Anweisung keinen Mastersatz mehr finden. Also aufpassen in welcher Reihenfolge man mit Daten arbeitet.

Melana & Freund

Original geschrieben von DanielH

Gibbet da unterschiede in den PHP-Distributionen ? Bei mir hat der mir ohne zusätzliches " (also doppeltes) immer Fehlermeldungen um die Ohren gehauen.

:confused: :confused: :confused:

MfG

Sollte eigentlich keine unterschiede geben,... zumal das Format eher was mit der SQL Abfrage zu tun hat.

Vielleicht ist es auch was in der php config ?! :confused: ... Keine Ahnung...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.