Seite 1 von 1

Dummes php problem.... :(

Verfasst: 18.09.2002 11:49
von MosesP.
Hi,
ich habe ein kleines script geschrieben das einige Daten in die DB schreibt da diese Daten natürlich (wenn nicht mehr benötigt) aus der DB gelöscht werden sollen habe ich diesen teil in das script eingefügt:
case 'delete':
//
// Delete User from gallery table
//
$sql = "DELETE
FROM " . GALLERYLIST_TABLE . "
WHERE gallery_id = $gallery_id
AND user_id = $user_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete user from gallery table', '', __LINE__, __FILE__, $sql);
}

$message = $lang['Gallery_deleted'] . '<br /><br />' . sprintf($lang['Click_return_gallery'], '<a href="' . append_sid("gallery.$phpEx") . '">', '</a>');

$template->assign_vars(array(
'META' => $meta)
);
message_die(GENERAL_MESSAGE, $message);

break;
Die Daten sollen nach der $gallery_id (im script hab ichs mal rot markiert) gelöscht werden,da er diese aber nicht auslesen kann kommt diese fehlermeldung:

Code: Alles auswählen

Could not delete user from gallery table 

DEBUG MODE 

SQL Error : 1064 You have an error in your SQL syntax near 'AND user_id = 5' at line 4 

DELETE FROM phpbb_gallery WHERE gallery_id = AND user_id = 5 

Line : 144 
File : /is/htdocs/28188/www.domain.de/board/gallerylist.php
Wie man sieht ist der wert gallery_id leer!
Diese $gallery_id ist in der tabellenspalte gallery_id in der tabelle phpbb_gallerylist gespeichert!Wie kann ich diese gallery_id aus der db auslesen damit das funzt?Wenn ich nämlich z.b. "$gallery_id" mit 5 (irgendeine id einer vorhandenen Gallery) ersetze funzt es!

Ich habe es mal so probiert:

Code: Alles auswählen

if ( $mode == 'delete' ) 
{ 
$sql = "SELECT gallery_id 
        FROM " . GALLERYLIST_TABLE . " 
        WHERE user_id = $user_id"; 
if ( !$db->sql_query($sql) ) 
                { 
                        message_die(GENERAL_ERROR, 'Could not delete user from gallery table', '', __LINE__, __FILE__, $sql); 
                } 
$gallery_id = $gallery_id; 
} 

case 'delete': 
                // 
                //  Delete User from gallery table 
                // 
                $sql = "DELETE 
                        FROM " . GALLERYLIST_TABLE . " 
                        WHERE gallery_id = $gallery_id 
                                AND user_id = $user_id"; 
                if ( !$db->sql_query($sql) ) 
                { 
                        message_die(GENERAL_ERROR, 'Could not delete user from gallery table', '', __LINE__, __FILE__, $sql); 
                } 

                $message = $lang['Gallery_deleted'] . '<br /><br />' . sprintf($lang['Click_return_gallery'], '<a href="' . append_sid("gallery.$phpEx") . '">', '</a>'); 

                $template->assign_vars(array( 
                                'META' => $meta) 
                ); 
                message_die(GENERAL_MESSAGE, $message); 

                break;
Funzt aber auch net :(
Ich hoffe irgendjemand hat verstanden was ich meine und kann mir helfen :) Ist irgendwie schwer zu erklären wenn man sich nur mässig mit php auskennt :-?

Gruß MosesP.

Verfasst: 18.09.2002 14:11
von Mister_X
Hm verstehe ich was falsch: du willst alle Einträge in der gallery table löschen die von einer bestimmten user_id stammen, welche bei jedem Eintrag in der gallery table mit gespeichert wird?
Der erste Code den du hier gepostet hast leicht verändert sollte doch funktionieren oder nicht ?

Code: Alles auswählen

.
.
.
$sql = "DELETE 
FROM " . GALLERYLIST_TABLE . " 
WHERE user_id = $user_id"; 
if ( !$db->sql_query($sql) )
.
.
.
oder was ist dein Problem :-?