Mon site ne comprend pas '->'

Résolu
Bonjour,
Comme le titre l'indique, mon site ne dois pas comprendre le signe ->.

En effet quand je l'utilise, il m'écrit tout ce qui suit le signe -> jusqu'à la fermeture du code PHP ?>

Exemple:
<?php 
try 
{ 
 $bdd = new PDO('mysql:host=$MySQL["Host"];dbname=$MySQL["Data"]', 'root', ''); 
} 
catch (Exception $e) 
{ 
 die('Erreur : ' . $e->getMessage()); 
} 
?>

Le site web m'affiche:
getMessage()); } ?>


C'est très énervant et je trouve pas la solution...
Une idée? Merci d'avance..

Code source: https://openclassrooms.com/fr/courses
Regardez sous: Tester la présence d'erreurs



Avant de poser des questions inutiles; t'as cherché sur Google?

2 réponses

  1. bonjour,

    Quel version de php est installé ?
    1. PHP5 probablement, il y a pleins de fichier PHP5apache_2 _x (x correspond à un chiffre entre 1 et 4).

      J'utilise XAMPP v3.1.0
    2. étrange, je n'ai jamais utilisé xampp mais ca doit venir de la configuration de php.
      essais avec wamp : https://www.wampserver.com/
      je n'ai jamais eu de problème avec personnellement et ca permettra de situer le problème
    3. WAMP ne fonctionne pas avec mon serveur de jeux... (je lie mon serveur de jeux avec mon site web sur XAMPP)
  2. Désolé une erreur de ma part: J'avais lancé le fichier .php avec notepad au lieu de me connecter à http://localhost/ ...
    Autre erreur:
    Warning: PDO::__construct(): in C:\xampp\htdocs\connexion_valid.php on line 89

    $bdd = new PDO('mysql:host=$MySQL["Host"];dbname=$MySQL["Data"]', 'root', '');

    Celle ci persiste depuis déjà un moment...
    Une idée s'il vous plait?
    Merci d'avance.
    1. Essaye avec
      $bdd = new PDO('mysql:host='.$MySQL['Host'].';dbname='.$MySQL['Data'.']', 'root', '');
    2. Ta proposition m'a donné l'idée, j'en suis à là:

      Notice: Undefined index: Host in C:\xampp\htdocs\connexion_valid.php on line 89

      Notice: Undefined index: Data in C:\xampp\htdocs\connexion_valid.php on line 89

      $bdd = new PDO('mysql:host=' .$MySQL['Host']. ';dbname=' .$MySQL['Data']. ', "root", " " ');
    3. Met des valeurs dans $MySQL['Host'] et $MySQL['Data']
    4. Ils devaient se charger avec parse_ini_file ...
      Mais en mettant les variables à l'écris ça fonctionne :)