Avatar billede supermand69 Nybegynder
11. januar 2004 - 04:51 Der er 12 kommentarer og
1 løsning

sletter ikke fra mysql

hej...

jeg har følgende kode men den pågældende række bliver ikke slettet?! det er som om den header stopper min query :|

mysql_query("DELETE FROM $db.online WHERE user='$USERID'");

session_destroy();

header('location: index.php');
Avatar billede detox Nybegynder
11. januar 2004 - 04:56 #1
Har du prøvet:

mysql_query("DELETE FROM $db.online WHERE user='$USERID'") or die(mysql_error());
Avatar billede detox Nybegynder
11. januar 2004 - 05:00 #2
Ellers kan du tjekke dine variabler:

print("DELETE FROM $db.online WHERE user='$USERID'");
exit;
Avatar billede supermand69 Nybegynder
11. januar 2004 - 05:11 #3
jamen mine variabler er i orden...

hvis jeg fjerner den header og skriver exit; i stedet sletter den godt nok den row?!? vildt underligt?
Avatar billede detox Nybegynder
11. januar 2004 - 05:33 #4
Ja, det lyder mærkeligt. Prøv måske at lukke forbindelsen:

mysql_query("DELETE FROM $db.online WHERE user='$USERID'");
mysql_close();
session_destroy();

header('location: index.php');
Avatar billede supermand69 Nybegynder
11. januar 2004 - 14:26 #5
jamen jeg connecter mysql med en function... så lukker den jo automatisk? gør den ikk?

function connect()
{
    global $sql_host;
    global $sql_user;
    global $sql_pass;
   
    mysql_connect($sql_host, $sql_user, $sql_pass);
}
Avatar billede detox Nybegynder
11. januar 2004 - 14:34 #6
Det kunne jo være, det gjorde at den ikke røg ind i din header før den var færdig med din forespørgsel, hvis altså det er problemet.
Avatar billede supermand69 Nybegynder
11. januar 2004 - 14:36 #7
du får lige lidt mere kode...

kan det have noget at sige at jeg bruger den buffer-ting??? ob_start() - med hensyn til headeren

------------------------

session_start();
ob_start();

function connect()
{
    global $sql_host;
    global $sql_user;
    global $sql_pass;
   
    mysql_connect($sql_host, $sql_user, $sql_pass);
}

connect();

if(isset($_GET[logoff]))
{
    mysql_query("DELETE FROM $db.online WHERE user='$USERID'");
   
    session_destroy();
   
    header('location: index.php');
}
Avatar billede detox Nybegynder
11. januar 2004 - 14:44 #8
Måske og jeg kan ikke se nogen grund til at bruge den her, da jeg ikke kan se noget output.
Avatar billede supermand69 Nybegynder
11. januar 2004 - 14:45 #9
det hjalp heller ikke at fjerne den? pis...
Avatar billede detox Nybegynder
11. januar 2004 - 14:50 #10
Har du prøvet:
mysql_close();
det kan osse være din session der driller, måske du skal bruge:
session_write_close();
Det er korrekt at disse funktioner normalt bliver udført ved afslutning af scriptet, men det bliver jo heller ikke afsluttet normalt her.
Et tredie forslag: tilføj exit; efter din header().
Avatar billede supermand69 Nybegynder
11. januar 2004 - 14:53 #11
jeg har lige prøvet mysql_close(); og det virkede... :)

så lav et svar :)

hvad er det at session_write_close() gør?
Avatar billede detox Nybegynder
11. januar 2004 - 14:59 #12
Avatar billede detox Nybegynder
11. januar 2004 - 15:03 #13
Men det er osse en god skik at tilføje: exit; efter din header, når du har mere kode efter headeren.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester