/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvorfor virker dette ikke?
Fra : Alex Berg


Dato : 30-01-05 22:19

<?php
$db_host = "localhost";
$db_username = "username";
$db_password = "password";
$db_name = "database";

function ConnectToMySQL() {
$link = mysql_connect( $db_host, $db_username,$db_password);

if (!$link) {
die('Could not connect: ' . mysql_error());
}
return($link);
}
?>


Alex Berg
www.max30.dk
Bliv overvægten kvit. Brug Max30 tit.

 
 
Dan Storm (30-01-2005)
Kommentar
Fra : Dan Storm


Dato : 30-01-05 22:48

Måske fordi det ikke giver mening ???
Hvad vil du med return($link); ?

<?php
$db_host = "localhost";
$db_username = "username";
$db_password = "password";
$db_name = "database";

function ConnectToMySQL() {
if(@mysql_connect( $db_host, $db_username, $db_password)) {
   if(@mysql_select_db($db_name)) {
      return 1;
   }else{
      return 0;
   }
}else{
   return 0;
}



}

if(ConnectToMySQL()) {
   echo 'Forbundet';
   }else{
   echo 'Ikke forbundet';
}

?>

(utestet)
Ikke fordi jeg kan se hvad du vil med en funktion på den måde, men igen,
du har nok et større formål...

--
Dan Storm

http://err0r.dk
storm@err0r.dk

PGP Public key på http://err0r.dk/pubring.pkr

>>> husk på; en ekspert er en person der har begået alle fejl mulige
inden for et bestemt område

Jesper Juul-Mortense~ (30-01-2005)
Kommentar
Fra : Jesper Juul-Mortense~


Dato : 30-01-05 23:00

On Sun, 30 Jan 2005 22:47:41 +0100, Dan Storm
<shadyz@_REMOVETHIS_err0r.dk> wrote:

>Måske fordi det ikke giver mening ???

Det giver god mening i mine øjne...

>Hvad vil du med return($link); ?

Bruge den i fremtidige kald til f.eks. mysql_query().
Afhængigt af hvad man vil opnå og opsætning kan det være farligt at
antage den sidste forbindelse til en MySQL serveren også er den rette.

/Jesper

Jesper Juul-Mortense~ (30-01-2005)
Kommentar
Fra : Jesper Juul-Mortense~


Dato : 30-01-05 22:55

On Sun, 30 Jan 2005 22:19:06 +0100, Alex Berg <mail@spamfree.dk>
wrote:

[snip]

Du skal kigge lidt på variabel scope og hvor hvilke variabler er
tilgængelige:
http://www.php.net/manual/en/language.variables.scope.php

/Jesper

Morten Fangel (30-01-2005)
Kommentar
Fra : Morten Fangel


Dato : 30-01-05 23:03

Alex Berg wrote:
> <?php
> $db_host = "localhost";
> $db_username = "username";
> $db_password = "password";
> $db_name = "database";
>
> function ConnectToMySQL() {
> $link = mysql_connect( $db_host, $db_username,$db_password);
>
> if (!$link) {
> die('Could not connect: ' . mysql_error());
> }
> return($link);
> }
> ?>
Det virker ikke pga PHP's variabel scope - variabler deklareret uden for
en funktion er ikke som standard tilgængelig inde i en funktion - disse
skal enten overføres via parametre, eg

function ConnectToMySQL($db_host, $db_user, $d..){
...
}
ConnectToMySQL($db_h....);

eller også skal de gøres globale, eg

function ConnectTOMySQL(){
global $db_host, $db_user, $db_pa...
...
}
ConnectToMySQL();

---

Som også skrevet i det andet svar du har modtaget, så giver det ingen
mening at returnere selve linket, da dette bare er en resource-handle,
og denne som standard er global..

Fangel

Peter Brodersen (30-01-2005)
Kommentar
Fra : Peter Brodersen


Dato : 30-01-05 23:13

On Sun, 30 Jan 2005 23:03:13 +0100, Morten Fangel <mfa@desi-dev.dk>
wrote:

>Som også skrevet i det andet svar du har modtaget, så giver det ingen
>mening at returnere selve linket, da dette bare er en resource-handle,
>og denne som standard er global..

Det *kan* være overflødigt, men det behøver ikke at være decideret
meningsløst. Det er i hvert fald lettere at administrere flere
conncetions, hvis man explicit angiver hvilken connection, man vil
gøre brug af.

--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste