Osäker på om detta skall in här eller i SQL, men gör ett försök så får vi se vart det leder.
Jag har en text i en mySQL-databas. När jag hämtar texten och skriver ut den på webbsidan vill jag direkt efter att det är utskrivet ta bort raden som texten stod i ur databasen. När jag gör detta försvinner dock texten direkt också från webbsidan.
Det är ett skumt beteende tycker jag eftersom jag hämtat texten, sparat det i en php-variabel och skrivit ut det. Då borde det vara "bortkopplat" från databasen?
Jag vill kunna skriva ut texten på webbsidan, ta bort den ur databasen, och har texten kvar utskriven. Någon som vet hur jag gör?
Inte för att det bidrar till felet, men det är inte riktigt bra att ha anslutningen och stägningen till databasen i alla funktioner. Nu öppnar du och stänger anslutningen en gång per funktionsanrop. Det vore bättre att ansluta högst upp på sidan och stänga längst ner. Då ansluter du en gång per sidanrop.
aasah: Tack. Har ändrat i min kod här hemma efter din rekommendation. (det ändrade tyvärr inte något resultat.)
überfuzz: Den skriver bara ut:
1
Jag har testat att ändra i koden så att raden inte tas bort direkt. Nu har jag en ny bool-kolumn i tabellen som sätts till true när texten läses. Sen kör jag en vanlig if-sats som först kollar om bool-värdet är true, isåfall skrivs texten "texten är borta" ut (trots att texten fortfarande finns i DBn). else-satsen skriver således ut texten som den står i DBn. Även nu skrivs texten ut först, för att sedan automatiskt direkt försvinna. Texten visas < 0,5 sekund innan "texten är borta" kommer fram. Det verkar alltså som att if-satsen körs flera gånger av någon anledning.
Kan det vara så att denna passage körs flera gånger på något klurigt sätt? Alltså först skrivs texten ut, sedan tas den bort, sedan försöker den skriva ut sig igen?
Efter konsultation med en vän testade jag även att lägga in
paus(5);
mellan readPost() och deletePost();
Det hjälpte dock inte.
Det var bra att det löstes, men det hade varit justare att helt enkelt förklara lösningen här (gärna med dina egna ord) än att länka till ett annat forum. Speciellt som den tråd du länkar till inte heller innehåller förklaringen utan mest länkar vidare...
257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e