Signaler

Syntax error, unexpected T_CLASS

Posez votre question barbizoa 3Messages postés jeudi 16 février 2017Date d'inscription 17 février 2017 Dernière intervention - Dernière réponse le 17 févr. 2017 à 14:37 par Reivax962
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

Utile
+0
plus moins
Bonjour,

Je ne vois pas où se termine ton bloc de commentaire en début de fichier
Donnez votre avis
Utile
+0
plus moins
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 3Messages 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
Répondre
Reivax962 3066Messages postés jeudi 16 juin 2005Date d'inscription 19 septembre 2017 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
Répondre
barbizoa 3Messages postés jeudi 16 février 2017Date d'inscription 17 février 2017 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
Répondre
Donnez votre avis
Utile
+0
plus moins
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 3066Messages postés jeudi 16 juin 2005Date d'inscription 19 septembre 2017 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 ?
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !