Avatar billede mydream Nybegynder
25. marts 2005 - 11:19 Der er 26 kommentarer og
1 løsning

Indsætte variabler i connection til db

Jeg vil gerne have min connection til at se sådan ud:

function opendb() {
$conn = mysql_connect($Sti, $Brugernavn, $Password);
mysql_select_db('$Database');
}

--------
Jeg har lavet variablene i forvejen, men den vil ikke connecte. Jeg har forsøgt forskellige ting, men måske er der en af jer, der kender svaret????
Avatar billede arne_v Ekspert
25. marts 2005 - 11:24 #1
Prøv:

$conn = mysql_connect($Sti, $Brugernavn, $Password) or die(mysql_error());
mysql_select_db('$Database') or die(mysql_error());

og se hvad den skriver
Avatar billede michael_stim Ekspert
25. marts 2005 - 11:25 #2
$conn = mysql_connect('$Sti', '$Brugernavn', '$Password');
pröv den
Avatar billede mydream Nybegynder
25. marts 2005 - 11:30 #3
Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in dbkontakt.php on line 20
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Avatar billede mydream Nybegynder
25. marts 2005 - 11:31 #4
Michael, jeg har forsøgt med anførselstegnene, det dur heller ikke
Avatar billede michael_stim Ekspert
25. marts 2005 - 11:32 #5
Det burde heller ikke betyde noget, men man ved aldrig ;o)
Avatar billede arne_v Ekspert
25. marts 2005 - 11:40 #6
Din my.ini har vel ikke

skip-networking

?
Avatar billede mydream Nybegynder
25. marts 2005 - 11:41 #7
arne, fatter intet af dit spørgsmål :)
Avatar billede arne_v Ekspert
25. marts 2005 - 11:43 #8
Din mysql konfigurations fil my.ini (eller my.cnf) - indeholder den
en skip-networking ?
Avatar billede mydream Nybegynder
25. marts 2005 - 11:46 #9
Jeg ved ikke hvor en sådan fil skulle ligge henne.

Jeg kan fortælle, at alt virker hvis jeg sætter variablenes indhold ind i stedet for variablene, så det er ikke et spørgsmål om forkerte variable.
Avatar billede arne_v Ekspert
25. marts 2005 - 11:48 #10
Oh - så er det ikke et konfigurations spørgsmål.

Må vi se koden fra hvor du giver de variable værdier til hvor du connecter ?

(en umiddelbar tanke var jo at de variable ikke var kendte inde i opendb funktionen)
Avatar billede arne_v Ekspert
25. marts 2005 - 11:51 #11
Almindelige variable er så vidt jeg ved ikke i scope inde i funktioner.

Der skal bruges define.
Avatar billede mydream Nybegynder
25. marts 2005 - 11:52 #12
$Sti = '195.xxx.174.34';
$Brugernavn = 'webxx114';
$Password = '863xxx2884';
$Tabel = 'Velkommen';
$Database = 'webxx114';

function opendb() {
$conn = mysql_connect($Sti, $Brugernavn, $Password) or die(mysql_error());
mysql_select_db($Database) or die(mysql_error());
}
Avatar billede arne_v Ekspert
25. marts 2005 - 11:55 #13
Prøv lige med:

define('Sti', '195.xxx.174.34');
etc.

og

$conn = mysql_connect(Sti, Brugernavn, Password) or die(mysql_error());
Avatar billede arne_v Ekspert
25. marts 2005 - 11:56 #14
Eller måske bedre - send dem med over som argument til opendb.

[jeg er ikke specielt PHP kyndig og ved ikke hvad man normalt gør]
Avatar billede detox Nybegynder
25. marts 2005 - 11:58 #15
Fx:

function opendb($Sti, $Brugernavn, $Password, $Database) {
$conn = mysql_connect($Sti, $Brugernavn, $Password) or die(mysql_error());
mysql_select_db($Database) or die(mysql_error());
}

og kaldet med:

opendb($Sti, $Brugernavn, $Password, $Database);
Avatar billede mydream Nybegynder
25. marts 2005 - 12:01 #16
arne, det virker perfekt. Kan du prøve at give et bud på hvorfor det virker og ikke det andet?

I andre sammenhænge kan jeg jo godt sætte variabler ind
Avatar billede arne_v Ekspert
25. marts 2005 - 12:09 #17
Normale variable erklæret udenfor funktioner er ikke kendt i funktioner.

define er navngivne konstanter og er kendt både indenfor og udenfor.
Avatar billede mydream Nybegynder
25. marts 2005 - 12:13 #18
ok. super tak for hjælpen. Lægger du lige et svar?
Avatar billede arne_v Ekspert
25. marts 2005 - 12:15 #19
kommer her
Avatar billede mydream Nybegynder
27. marts 2005 - 22:55 #20
Arne, kan man ikke bare lægge de variable ind under funktionen altså f.eks.

function opendbkunde() {
    $Sti = $raekke['Databasesti'];
    $Brugernavn = $raekke['Brugernavn'];
    $Password = $raekke['Brugerpassword'];
    $Database = $raekke['Databasenavn'];

    $connkunde = mysql_connect($Sti, $Brugernavn, $Password);
    mysql_select_db($Database);
    }
Avatar billede arne_v Ekspert
27. marts 2005 - 22:58 #21
Hvor kommer $raekke fra ?
Avatar billede mydream Nybegynder
27. marts 2005 - 22:59 #22
Glem $raekke. Det kunne ligeså godt være $Sti = 'hulubulu';
Avatar billede arne_v Ekspert
27. marts 2005 - 23:03 #23
jo det vil virke fordi $Sti så er i scope
Avatar billede mydream Nybegynder
27. marts 2005 - 23:06 #24
function opendbkunde() {
    $Sti = '195.xxx.174.xx';
    $Brugernavn = 'xxx43115';
    $Password = '863xxx2885';
    $Database = 'xxx43115';
   
    $connkunde = mysql_connect($Sti, $Brugernavn, $Password);
    mysql_select_db($Database);
    }
Avatar billede mydream Nybegynder
27. marts 2005 - 23:08 #25
Det virker desværre bare stadig ikke

Fatal error: Call to undefined function opendbkunde()

(jeg forsøger at kalde funktionen og bruge den)
Avatar billede arne_v Ekspert
27. marts 2005 - 23:11 #26
Den kan slet ikke finde funktionen opendbkunde - der må være noget andet galt
Avatar billede mydream Nybegynder
27. marts 2005 - 23:17 #27
ja jeg flyttede lige rundt på et par klamamser, så var den hjemme. Igen tak for hjælpen.
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
Computerworld tilbyder specialiserede kurser i database-management

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