Parse error: syntax error, unexpected ';',

Bonjour, je suis un noob en php et j'ai l'erreur
Parse error: syntax error, unexpected ';', expecting T_FUNCTION in /homez.346/iblogpho/www/push/classes/class_APNS.php on ligne 882
Mais je ne vois pas ou est l'erreur la ligne 882 est la dernière
voila le code
     /**
          * Increment Message Badge
          *
          * <code>          * <?php
          * $db = new DbConnect();
          * $db->show_errors();
          * $apns = new APNS($db);
          * $apns->newMessage(1, '2010-01-01 00:00:00');
          * $apns->incrementMessageBadge(1); // HAS TO BE A NUMBER
          * $apns->queueMessage();
          * ?>          * 
*
* @param int $number
* @access public
*/
public function incrementMessageBadge($number=NULL){
if(!$this->message) $this->_triggerError('Must use
newMessage() before calling this method.', E_USER_ERROR);
if($number) {
$sql = "SELECT 'apns_messages'.'message' FROM
'apns_messages' INNER JOIN 'apns_devices' ON
'apns_messages'.'fk_device' = 'apns_devices'.'pid' AND
'apns_devices'.'modified' < 'apns_messages'.'modified' WHERE
'apns_devices'.'pid' = '{$this->message['send']['to']}' ORDER BY 'a$";
if($result = $this->db->query($sql)) {
if($result->num_rows) {
while($row = $result->fetch_array
(MYSQLI_ASSOC)) {
$last_message = json_decode($row['message']);
}
}
}
if(isset($last_message)) {
$number += (int)$last_message->aps->badge;
}
if(isset($this->message['aps']['badge']))
$this->_triggerError('Message Badge has already been created.
Overwriting with '.$number.'.');
$this->message['aps']['badge'] = (int)
$number;
}
}

?></code>

Merci d'avance

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut!
    Je pense qu'il te manque un point virgule ou une accolade dans ton code!
    1. l'erreur est unexpected (traduit par "inattendu")
      donc ce serai plutot un point virgule en trop, ou mal placé

      il faut regarder dans le fichier class_APNS.php
      a la ligne 882
  2. c'est le fichier class_APNS.php et la ligne 882 est la derniere soit : ?>
    1. la variable $number c'est quoi

      si sa va avec la ligne du dessus , remplace :
      $this->message['aps']['badge'] = (int)
      $number;

      par :
      $this->message['aps']['badge'] = intval($number);

      et essaye
  3. je comprend pas j'ai regardé le nb d'accolades et il y a le même nb d'accolades ouvertes que fermés ..
    1. Contributeur
      Regarde les points virgule (;)
  4. sans le code que j'ai mis sa marche donc l'erreur est dans cet partie mais je ne trouve pas y a des points virgules partout ...