Avatar billede shjorth Nybegynder
30. november 2009 - 13:20 Der er 4 kommentarer og
1 løsning

Globalisering af variabel

Hejsa

Jeg skal udbygge min side til at snakke med 2 databaser. I den forbindelse har jeg så lavet

$prim_server = mysql_connect...
$sec_cserver = mysql_connect...

Jeg har så i ALLE mine queries givet den den ekstra var:
mysql_query("SELECT ...",$prim_server)or die(mysql_error());

Nu er jeg dog rendt ind i et problem, da jeg har mange funktioner. F.eks:

function noget() {
mysql_query("SELECT...",$prim_server)or die(mysql_error());
}

Men funktionen kender jo ikke $prim_server da den ikke er defineret i funktionen. Hvis jeg skal til at give alle mine funktioner den ekstra variabel, så vil det komme til at tage mange uger for mig. Findes der i stedet en smart måde at globalisere $prim_server og $sec_server ?

Jeg har forsøgt med:

global $prim_server. Dog uden held :(

Håber der er nogen der kan hjælpe :)
Avatar billede xicrow Nybegynder
30. november 2009 - 13:55 #1
Hej shjorth.

Jeg syntes du skulle læse lidt på dette link:
http://php.net/manual/en/language.variables.scope.php

Kort og godt, hvis du vil bruge en global variable inde i en funktion, er du nød til at "hente den ind" i funktionen først:
global $prim_server;
global $sec_server;
mysql_query("SELECT...",$prim_server)or die(mysql_error());

Derefter kan du bruge dem som du vil, inden i funktionen.

Du kan dog også benytte $GLOBALS, således:
mysql_query("SELECT...",$GLOBALS['prim_server'])or die(mysql_error());

Håber det kan hjælpe

/xicrow
Avatar billede Slettet bruger
30. november 2009 - 17:31 #2
En lille udbyggelse af xlcrow's kommentar.

Ved brug af flere globale variable, kan du blot skrive:
global $hej, $med, $dig;
Avatar billede shjorth Nybegynder
01. december 2009 - 18:09 #3
Perfekt.. Tusinde tak.. Smider i et svar?
Avatar billede Slettet bruger
01. december 2009 - 18:13 #4
xicrow får den ;)
Avatar billede xicrow Nybegynder
01. december 2009 - 18:14 #5
Så kommer der lige et svar her da :)

/xicrow
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