FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Flitig postare
|
Varför lyckas jag få kopior i min databas?
Borde inte följande garantera att det inte läggs in två, i detta faller, urls som är lika? PHP-kod:
|
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Har WN som tidsfördriv
|
Ändra fältet `url` i databasen till att ha flaggan UNIQUE.
Då kan du inte få dubbletter hur mycket du än försöker. |
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Flitig postare
|
Ok, tack, men jag förstår fortfarande inte varför det lyckas skapa dubbletter, jag kollar jag först om urlen finns i databasen och om den inte finns så läggs den till, så varför?
|
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Måste inte if($url_id == ''){} vara innanför while-loopen?
|
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Flitig postare
|
Citat:
Om sedan $url_id fortfarande inte är satt med ett id, så gör jag en insert. |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Mycket flitig postare
|
Det behöver inte vara en loop eftersom det är LIMIT 1. Man kan köra med if istället.
PHP-kod:
Varför kör du med stripslashes() på det du läser från DB? Det ska normalt inte behövas. Jag antar att innehållet i $url inte kan påverkas från klientsidan, eller att det är kontrollerat med regexp eller liknande. Om inte måste du köra mysql_real_escape_string() på den också, både vid SELECT och INSERT. |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Flitig postare
|
Citat:
stripslashes har inte med $url att göra, $title dock, skrivs in i db med real_escape_string, men det är inte den som är problemet. |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Mycket flitig postare
|
Citat:
Man behöver inte använda stripslashes() när man hämtar från DB bara för att man använde mysql_real_escape_string() när man skrev till DB. Däremot bör man i vissa fall använda htmlspecialchars() innan man skriver ut information som man hade lagrat i DB. |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Flitig postare
|
Citat:
|
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Mycket flitig postare
|
För att ta bort de extra slasharna om man vill använda datat till något annat än att stoppa in i en databas. Det är väl egentligen bara aktuellt om magic quotes är aktiverat på servern, vilket jag tror var default för gamla PHP-versioner, men inte nu längre.
|
||
![]() |
![]() |
Svara |
|
|