function show_menu() {
##### ÖPPNAR DATABAS OCH VÄLJER DATABAS ##############################
$conn = opendb($dbHost, $dbUser, $dbPassword);
mysql_select_db($dbName);
$SQL = mysql_query("SELECT pagename FROM tblSiteNavigation ORDER BY pagename") or die (mysql_error());
while($objRS = mysql_fetch_array($SQL)) {
echo "Sidnamn: <b>".$objRS[pagename]."</b> | ";
}
closedb($conn);
}
Är det möjligt att ha nästlande funktioner? Funktionen opendb($dbHost, $dbUser, $dbPassword); ligger i filen include.db.php utanför web-rooten. När jag försöker köra denna funktion som skall skriva ut en meny får jag upp felmeddelandet "Databaskopplingen EJ initierad!" som jag själv har angett ska komma upp om allt inte står rätt till.
Alla include-filer anropar jag i index.php i rätt ordning med hänsyn till i vilken ordning funktionerna används i index.php.
Jag har prövat att stoppa in variablerna $dbHost, $dbUser, $dbPassword och $dbName direkt i funktion dbopen och mysql_select_db och då fungerar det utan problem. Dock får jag ett felmeddelande på slutet när jag ska stänga databasen igen som ser ut så här:
Warning: mysql_close(): 6 is not a valid MySQL-Link resource in /XXX/include.db.php on line 26
Raden som ovanstående felmeddelande syftar på är mysql_close($conn); i nedanstående funktion:
variablerna måste igenom den första funktionen såvida dom inte är globala.
function show_menu($dbHost, $dbUser, $dbPassword) {
$conn = opendb($dbHost, $dbUser, $dbPassword);
Nu har jag valt att mata funktionen som skall visa min meny med databasvariablerna. Om jag skulle välja att göra dessa variabler globala så skulle en funktion i funktionen känna igen dessa och därigenom har åtkomst till dem. Min fråga nu är om det är en säkerhetsrisk att göra dessa databasvariabler globala. Kan tillägga att dessa databasvariabler lagras utanför web-rooten.
Några synpunkter på detta? :)
254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e