Quand tu appelles les fonction mysql_connect() ou mysql_select_db(), tu les appelles sans arguments ? En fait, php n'est pas devin, il n'est pas encore capable de deviner les arguments des fonctions tout seul, donc de la même manière qu'aux fonctions prédéfinies, tu passes des arguments, tu dois aussi en passer dans tes propres fonctions.
Prenons une fonction qui aura été définie ainsi :
function machin($arg1, $arg2)
{
return arg1*$arg2;
}
Elle devra être appelée ainsi :
$truc=machin($var1, $arg2);
Ou bien ainsi :
echo machin(5, 6);
Et comme tu as vu, le nom des arguments n'a aucune influence. C'est à dire que les arguments de la fonctions sont des variables qui n'existent que dans la fonction :
function machin($arg1)
{
echo $arg1; // OK, $arg1 est défini à l'intérieur de la fonction, car elle a été définie lors de l'appel de la fonction.
$var='test';
echo $var; // OK, on vient juste de définir la variable.
}
echo $var; //erreur, ce n'est pas défini ici, ca n'était défini que dans la fonction
echo $arg1; //idem
Bref, le nom de l'argument de la fonction ne sert qu'à permettre l'utilisation de l'argument dans la fonction.
Je t'invite à lire le manuel pour plus de renseignements.
http://fr2.php.net/manual/fr/functions.arguments.php