Skrevs ursprungligen av Leander Lindahl
Tjena. Jag tror jag fått kläm på vad skillnaden är. Att om man kör inquire_once inkluderas filen bara en gång oavsett hur "ofta" den rekvireras på samma sida. Med require inkluderas den "slaviskt" utan "intelligens" s a s.
Sidan jag körde (som gav problem) rekvirerade en filen som kopplar upp mot en mysql databas. I det fallet var problemet att ingen kopplingen gjordes mer än första gången och sidan gav beskedet "couldn't connect to database". Jag har nu insett att just den kombination jag kör är olämplig för require_once eftersom det inte enbart är anslutnings-strängen som ska inkluderas som variabel, utan även själva kommandot "koppla upp nu". Om inkluderingen bara sker en gång blir det ju fel, om "koppla upp dig nu och ställ en SQL-fråga" ska göras flera gånger under exekveringen. Då är det ju logiskt att det blir fel.
Så om man vill utföra någonting och inte bara ladda en funktion eller variabel-värde, är det troligtvis olämpligt med require_once.
Egentligen borde jag ju förstås programmera om så att jag gör en funktion som kopplar upp mot databasen, en funktion som tar SQL-satsen som argument. Då skulle det räcka med require_once. Men med nuvarande konstruktion bör jag alltså köra require() eller include().