Menu

Syntax error, unexpected T_CLASS [Fermé]

barbizoa 3 Messages postés jeudi 16 février 2017Date d'inscription 17 février 2017 Dernière intervention - 16 févr. 2017 à 11:49 - Dernière réponse : Reivax962 3214 Messages postés jeudi 16 juin 2005Date d'inscription 20 avril 2018 Dernière intervention
- 17 févr. 2017 à 14:37
Bonjour,

Je suis débutant en PHP et dans mon fichier database.class.php j'ai une erreur que je n'arrive pas à corriger. Merci de me donner un coup de main.
Le code:
<?php
/**********************************************************************
Database.class.php
Generated by STRUCTY 2016.11.25 16:22:25.
Copyright 2011 Structy, Fr�d�ric Aebi. All rights reserved.


*
**
***
****
*****
******
*******
********
*********
**********
***********
************
*************
**************
***************
****************
*****************
******************
*******************
********************
*********************
**********************
***********************
************************
*************************
**************************
***************************
****************************
*****************************
******************************
*******************************
********************************
*********************************
**********************************
***********************************
************************************
*************************************
**************************************
***************************************
****************************************
*****************************************
******************************************
*******************************************
********************************************
*********************************************
**********************************************
***********************************************
************************************************
*************************************************
**************************************************
***************************************************
****************************************************
*****************************************************
******************************************************
*******************************************************
********************************************************
*********************************************************
**********************************************************
***********************************************************
************************************************************
*************************************************************
**************************************************************
***************************************************************
****************************************************************
*****************************************************************
******************************************************************
*******************************************************************
********************************************************************
*********************************************************************
**********************************************************************/

class Database {

public function Database() {
  $this->_conn = SPDO::getInstance();
 }

public function select($pQry = "") {
  $pdo = SPDO::getInstance();
  $result = $pdo->query($pQry);
  $row = array ();
  if (!empty ($result)) {
   $row = $result->fetchAll(PDO::FETCH_OBJ);
  }
  return $row;
 }

public function insert($pQry = "") {
  $pdo = SPDO::getInstance();
  $result = $pdo->execute($pQry);
  return $pdo->lastInsertId();
 }

public function delete($pQry = "") {
  $pdo = SPDO::getInstance();
  $result = $pdo->execute($pQry);
  return $result;
 }
 public function update($pQry = "") {
  $pdo = SPDO::getInstance();
  $result = $pdo->execute($pQry);
  return $result;
 }
}

class SPDO {

private $PDOInstance = null;
 private static $instance = null;
 private $exception;

private function __construct() {
  try {
   $this->PDOInstance = new PDO("mysql:host=".SERVER.";dbname=".BASE, USER, PASS);
  } catch (PDOException $e) {
   echo "Error connecting to MySQL!: ".$e->getMessage();
   exit();
  }
 }

public static function getInstance() {
  if (is_null(self::$instance)) {
   self::$instance = new SPDO();
  }
  return self::$instance;
 }

public function query($query) {
  return $this->PDOInstance->query($query);
 }

public function prepare($query) {
  return $this->PDOInstance->prepare($query);
 }

public function execute($query) {
  return $this->PDOInstance->exec($query);
 }

public function lastInsertId() {
  return $this->PDOInstance->lastInsertId();
 }

public function quote($query) {
  return $this->PDOInstance->quote($query);
 }

public function getException() {
  return $this->exception;
 }
}
  ?>

EDIT : Ajout des balises de code

Afficher la suite 

7 réponses

Nessdarth 36 Messages postés vendredi 16 décembre 2016Date d'inscription 28 février 2017 Dernière intervention - 16 févr. 2017 à 13:44
0
Utile
Bonjour,

Je ne vois pas où se termine ton bloc de commentaire en début de fichier
Reivax962 3214 Messages postés jeudi 16 juin 2005Date d'inscription 20 avril 2018 Dernière intervention - 16 févr. 2017 à 15:01
0
Utile
3
Bonjour,

Pourrais-tu nous donner le message d'erreur COMPLET ? Avec le numéro de ligne, déjà, on saurait lequel des deux "class" pose problème.

D'une façon générale, quand on demande de l'aide sur un message d'erreur, on donne le message d'erreur !

Xavier
barbizoa 3 Messages postés jeudi 16 février 2017Date d'inscription 17 février 2017 Dernière intervention - 16 févr. 2017 à 17:14
Bonjour, le message d'erreur complet:
Parse error: syntax error, unexpected T_STRING in /vdir/www.regiepubniger.com/var/www/vhosts/www.regiepubniger.com/web/assets/config/Database.class.php on line 1
Reivax962 3214 Messages postés jeudi 16 juin 2005Date d'inscription 20 avril 2018 Dernière intervention - 17 févr. 2017 à 09:58
Ah, alors c'est T_STRING, pas T_CLASS ?
Ca change beaucoup les choses :)
Du coup c'est plutôt surprenant. On dirait qu'il y a un caractère qui l'embête sur la première ligne. Est-ce que tu peux afficher les caractères cachés dans ton éditeur, voir s'il y a un truc louche ? Voire, encore mieux, afficher ton fichier dans un éditeur hexadécimal qui permettra d'être sûr de tout voir...

Xavier
barbizoa 3 Messages postés jeudi 16 février 2017Date d'inscription 17 février 2017 Dernière intervention > Reivax962 3214 Messages postés jeudi 16 juin 2005Date d'inscription 20 avril 2018 Dernière intervention - 17 févr. 2017 à 10:57
Merci pour ta réponse j'ai affiché le fichier dans un éditeur hexadécimal RAS. Le message est toujours :( ! ) Parse error: syntax error, unexpected T_STRING in /vdir/www.regiepubniger.com/var/www/vhosts/www.regiepubniger.com/web/assets/config/Database.class.php on line 1
jordane45 20610 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 24 avril 2018 Dernière intervention - 17 févr. 2017 à 11:07
0
Utile
1
Bonjour,

Assure toi que ton fichier est encodé en utf8 sans BOM.
(a la limite, copie le contenu et colle le dans un nouveau fichier de cet encodage).
Pour voir l'encodage (ou le modifier) regarde ici : http://www.commentcamarche.net/faq/47069-html-php-caracteres-accentues-et-l-utf8#1-verifiez-l-encodage-des-fichiers
Reivax962 3214 Messages postés jeudi 16 juin 2005Date d'inscription 20 avril 2018 Dernière intervention - 17 févr. 2017 à 14:37
Les BOM peuvent déclencher ce genre d'erreur ?
A priori ils ne devraient pas puisqu'ils sont placés avant la balise <?php, non ?