"Jesper Frank Nemholt" <jfn@dassic.com> skrev
>
> Hvis jeg nu gerne vil lade $Database være styret udefra med en
> $HTTP_POST_VARS["database"] og erstatter "collect" med dette, så virker
det
> ikke.
> Jeg troede først at det var scope og lavede derfor en $GLOBALS[]
reference,
> men det går også galt.....
>
> Hvad er årsagen ?
Ja, årsagen er den at når du opretter dit database object så kender objektet
ikke din globale database variabel. DB_Mysql kalder en constructor når der
bliver oprettet et object af typen DB_Mysql og denne constructor kender jo
kun til den interne variabel $Database, og der for prøver at bruge den.
Løsningen er at lave en constructor i din Database class:
class DB_Link extends DB_Sql
{
function DB_Link( $dbToUser ) {
...
}
...
}
Så kan du bruge den sådan her:
$db = new DB_Link( $Database );
(John =