Savoir si MySQL est online ou pas...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Savoir si MySQL est online ou pas...

par chrislabricole » 21 avr. 2007, 12:23

Yeah ! :wink:
trop content !

voici le code "officiel" pour se qui sont dans le même cas que moi ! :
<?php 
$link = @mysql_connect("localhost", "", "");
if ($link === FALSE) {
echo "Mon serveur MySQL est actuellement Offline";}
else
echo "Mon serveur MySQL est actuellement Online";
@mysql_close($link);
?>
Merci encore ! :D

par Ryle » 21 avr. 2007, 11:47

Modération :
chrislabricole, les "up" sont interdits sur PHPFrance.


Quant à ton problème de et/ou, il te faudrait commencer par bien comprendre le principe d'une structure conditionnelle :
SI (ce test est vrai) {                |      if ($link === FALSE) {
  alors je fais ça                     |        echo '...';
}                                      |      }
                                       |
SINON SI (ce test-ci est vrai) {       |
  alors je fais ça                     |
}                                      |    
                                       |    
...                                    |    
                                       |    
SINON {                                |      else {
  je fais ça                           |        echo '...':
}                                      |      }

par chrislabricole » 21 avr. 2007, 09:10

please ! :cry:

par chrislabricole » 10 avr. 2007, 23:40

hé.... bravo Ryle, pour la claireter et la compréention...

je sais pas si je l'ai préssisé mais chui débutant php... 8-) et je suis pas encore fiable sur les else et surtout les { et/ou } :roll:

donc c'est sa mais je sais pas positionner les { et/ou } :lol: :cry: :
<?php
$link = @mysql_connect("localhost", "home", "je_le_dit_pas_lol");
echo "Mon serveur MySQL est actuellement Offline";
{ ou }
else
{ ou }
echo "Mon serveur MySQL est actuellement Online";
mysql_close($link);
?>

par Ryle » 10 avr. 2007, 23:38

- Il te manque le ";" à la fin de l'instruction du mysql_connect()
- Il te manque le "@" (même si c'est tout pouark à utiliser !) devant cette fonction
- le "or die" n'a plus de raison d'être
- il te faut un else pour gérer le message lorsque le serveur est online :)

par Invité » 10 avr. 2007, 21:32

Regarde simplement comment fonctionne une structure IF et tu auras ta réponse

par chrislabricole » 10 avr. 2007, 20:39

OK ! mais je la met ou la ligne ? la?
	  <?php
$link = mysql_connect("localhost", "home", "je_le_dit_pas_lol")
if ($link === FALSE) // si $link est un booléen et qu'il est à faux 
or die("Mon serveur MySQL est actuellement <span style='color:#FF0000'><b>Offline</b></span>");
echo"Mon serveur MySQL est actuellement <span style='color:#00FF00'><b>Online</b></span>";
mysql_close($link);
?>
Mais sinon, sa fait une erreur ! :cry:

par Ryle » 09 avr. 2007, 23:18

Ca me parait logique... avec le @ tu demandes à php d'ignorer les erreurs et les alertes, il n'a donc du coup aucune raison d'entrer dans le die..

La solution du @ est vraiment à éviter, mais je reconnais que je n'ai pas de meilleure solution à te proposer, et vu qu'apparement, même la doc le propose, je pense qu'on peut faire une exception, à condition effectivement de gérer soit même l'erreur comme tu souhaites le faire.

Donc au lieu du or die(), il te suffit de tester la valeur retournée par la fonction (celle affectée à $link) puisque mysql_connect() retourne FALSE en cas d'échec :)
if ($link === FALSE) // si $link est un booléen et qu'il est à faux
  echo "Mon serveur MySQL est actuellement Offline";

par chrislabricole » 09 avr. 2007, 20:37

mouuua .....

c'est déja mieux mais.... :

il n'y a plus l'erreur quand le SQL est Offline:
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in D:\www\index.php on line 112
mais il s'affiche plus le texte qui est situé dessou le code :
<?php
$link = @mysql_connect("localhost", "home", "je_le_dit_pas_lol")
or die("Mon serveur MySQL est actuellement Offline");
echo "Mon serveur MySQL est actuellement Online";
mysql_close($link);
?>

par lord.anonymous » 09 avr. 2007, 17:37

Et si tu mets un @ devant mysql_connect()?

Savoir si MySQL est online ou pas...

par chrislabricole » 09 avr. 2007, 17:05

Bonjour,

je voudrait un code qui permet de savoir si SQL est Online ou pas

voici mon code à moi, mais il y a un piti problème:
<?php
$link = mysql_connect("localhost", "home", "je_le_dit_pas_lol")
or die("Mon serveur MySQL est actuellement Offline");
echo "Mon serveur MySQL est actuellement Online";
mysql_close($link);
?>
le code si dessus-marche à merveille quand le serveur SQL et en route, il y a écrit : (comme prévu dans le code)
Mon serveur MySQL est actuellement Online
_______
Mais quand je met mon serveur SQL Offline, voici se qu'il y a écrit :
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in D:\www\index.php on line 112
Mon serveur MySQL est actuellement Offline
et catastrophe, une erreur, alors, se que je pensé, est-ce que c'est possible de:
-désactivé l'erreur pour se code
OU
-un autre code plus aproprié pour cela

Mer par avance...

PS: la ligne 112, c'est ceçi :
$link = mysql_connect("localhost", "home", "je_le_dit_pas_lol")