Bonjour
Je suis webmaster d' un site universitaire et je réalise une newsletter . Nous sommes donc hébergés par le serveur de l'université , ce qui limite quelque peu mes droits . Pour réaliser ma newsletter j'ai choisi la solution la plus simple PHP+MySQL . J'ai pu vérifier que PHP était installé et j'ai toutes les pages PHP de ma newsletter . En revanche pour mysql n'ayant accés ni au répertoire où PHP est installé , ni à l'éventuel répertoire où MySQL serait installé je ne peux pas vérifier que MySQL est installé et que PHP marche avec .
J'ai 3 questions
1- Comment vérifier que MySQL est installé sur le serveur ?
j'avais bien songé à uploader un petit script de ma composition mais je sais pas trop si mon interprétation du résultat est correct
voilà le script
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Connexion PHP</title>
</head>
<body>
<?php
$server="localhost";
$user="root";
$pass="mineraux";
mysql_connect ($server,$user,$pass) or die('Erreur de connexion');
print "<h2> Connexion réussie au serveur Mysl </h2>\n\n";
?>
</body>
</html>
Voilà le résultat en local
Connexion réussie au serveur Mysl
donc celà signifirait que la syntaxe php est correct d'une part , d'autre part qu'il arrive bien à se connecter au serveur Mysql.
Voilà le résultat sur le serveur lointain
"Erreur de connexion"
la syntaxe php est donc correct par contre ce que comprend pas c'est d'une part qu'il me donne pas les infos d'erreurs auxquelles j'ai droit en local lorsque je fais une erreur et que je ne mets pas @devant la fonction mysql_connect.
(du genre: Warning: mysql_connect(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\www\00connection.php on line 13)
D'autre part comment dois je interpréter cette réponse ? "erreur de connexion"
sans le warning accès refusé il me semble que je ne peux pas savoir si l'erreur est dû à un problème de droit d'accés ou de défaut d'installation de MySQL .
2- J'ai aussi un doute pour les arguments à mettre dans la fonction mysql_connect pour le serveur en lointain
pour l'argument serveur : j'utilise simplement l'adresse ftp que j'utilise habituellement pour uploader? du genre ftp.trucmuch.fr (ça à la rigueur j'ai pas trop de doutes)
idem pour l'argument utilisateur et mot de passe ? là j'ai un trés gros doute , dans l'hypothése où MySQL est installé la gestion des priviléges est distincte de celle de l'accés au serveur FTP , non? ou je me trompe et je peux rentrer les mêmes données ?
3- A défaut est ce qu'il est possible d'installer MySQL sur le répertoire auquel j'ai accés et si oui comment ? (j'ai bien sur déjà demandé à l'administrateur réseau mais bon il est en vacances pour un moment et je voudrais faire des test auparavant)
4- question accessoire , c'est plus une question de PHP que de MySQL mais bon comme elle est liée à ce qui est dit précedemment
j'avais une alternative pour le script de connexion au serveur MySQL mais cette alternative ne marche pas
<?php
$server="localhost";
$user="root";
$pass="mineraux";
$lien = mysql_connect ($server,$user,$pass)
if (! $lien) {
die ("Erreur de connexion" );
}
print "<h2> Connexion réussie au serveur Mysl </h2>\n\n";
?>
le navigateur me sort une erreur de parsing à la ligne 14 c'est à dire à l'expression de suivi du flot "if" : pourtant
1 on peut stocker une fonction dans une variable $lien= mysql_connect
2 l'opérateur logique ! admet bien une variable pour opérande
3 l'expression de suivi du flot if voit sa structure respecté : if (expression de test) {fonction;}
je ne vois pas pourquoi ça ne marche pas
J'ai essayé d'être aussi clair que possible
Même une petite réponse à un des trois-quatre éléments peut m'aider.
Merci d'avance
Message édité par ghinzdra le 27-08-2006 à 13:56:03