Löschen + Update in Tabellen

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Walter91
Mitglied
Beiträge: 101
Registriert: 16.02.2012 08:28

Löschen + Update in Tabellen

Beitragvon Walter91 » 16.11.2014 14:48

Ich suche Hilfe bei folgenden Problem:
Ich möchte einen Datensatz aus der Tabelle MUSIK löschen, gleichzeitig soll in Tabelle CD ein Wert niedriger eingetragen werden.
Das Update des Zahlenwertes in Tabelle CD funktioniert einwandfrei. Der Datensatz in Tabelle MUSIK wird jedoch nicht gelöscht.

So rufe ich das auf.

Code: Alles auswählen

'U_DELETE' => ( $auth->acl_get('m_delete') || $auth->acl_get('a_') || ( $auth->acl_get('u_delete_own') && $user->data['user_id'] == $row['author_id'] ) ) ? append_sid ("{$phpbb_root_path}test.{$phpEx}", 'action=delete&musik_id='.$row['musik_id'].'&id='.$row['id'] ) : false,

Der Aufruflink zu den ID-Nummern wird richtig angezeigt.
http://localhost/phpbb/test.php?action=delete&id=14&id=4

So habe ich die Löschfunktion.

Code: Alles auswählen

case 'delete':
if ( !$auth->acl_get('u_delete_own') )
    {
      ($auth->acl_get('a_')) ? trigger_error('ADMIN_PERM_READ') : trigger_error('PERM_DELETE');
    }
    if (confirm_box(true))
    {
        
        $sql 
= 'DELETE FROM ' . MUSIK_TABLE . '
            WHERE musik_id = '
 . (int) $id;
        $db->sql_query($sql);
        $cache->destroy('sql', MUSIK_TABLE);    
        
        
        $sql 
= 'UPDATE ' . CD_TABLE . '
                SET interpret = interpret -1
                WHERE id = '
 . $id;
        $db->sql_query($sql);
        
        
}
        else
        
{    
         confirm_box
(false, $user->lang['DATEN_DEL']);
        }

break; 


Kann hier jemand helfen wo der Fehler liegt? Danke.

Benutzeravatar
HabNurNeFrage
Ehemaliger
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Löschen + Update in Tabellen

Beitragvon HabNurNeFrage » 16.11.2014 19:20

Hi,

wie unterscheidet das SQL zwischen (int) $id und $id?
Müsste bei (int) $id nicht sowas wie $music_id stehen? (oder wie immer Du diese Variable vorher definiert hast)

In der URL erscheint auch zweimal &id=, wobei Deine Definition für 'U_DELETE' dort einmal &music_id= schmeißen müsste.

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };

Walter91
Mitglied
Beiträge: 101
Registriert: 16.02.2012 08:28

Re: Löschen + Update in Tabellen

Beitragvon Walter91 » 16.11.2014 22:42

Vielen Dank für die Hilfe. Das hat mir geholfen wie ich den Fehler finden konnte.
WHERE musik_id = ' . (int) $id; bei löschen hatte ich falsch.

Richtig geht es jetzt so WHERE musik_id = ' . $musik_id;

Der Eintrag wird jetzt gelöscht und Update Zähler geht jetzt auch.


Zurück zu „[3.0.x] Mod Bastelstube“