Bonjour,

La partie de code ci-dessous pose un problème mais uniquement sur mon nas... En local je n'ai aucun souci...
Auriez vous une idée du pourquoi du comment ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function serie_getByEpisode($pdo, $id_episode)	{
	$queryStr = 'select s.* from serie s INNER JOIN serie_saison ss ON s.id = ss.id_serie INNER JOIN episode e ON ss.id = e.id_serie_saison where e.id = :id';
	$serie = null;
	try	{
		$query = $pdo->prepare($queryStr);
		$query->bindParam(':id', $id_episode, PDO::PARAM_INT);
		$query->execute();
		$series = $query->fetchAll(PDO::FETCH_CLASS, "Serie")[0];
	} catch(PDOException $e)	{
		$pdo->getLog()->log("erreurs", "err_req", "serie.php > serie_getByEpisode > ".$queryStr, Logger::GRAN_MONTH);
		die("Erreur d'une requ&ecirc;te.<br /><br />Veuillez contacter l'administrateur.");
	}
 
	return $serie;
}
Php me donne cette erreur: Parse error: syntax error, unexpected '[' in /volume1/web/service/serie.php on line 19
En modifiant mon code comme ci-dessous je n'ai plus de problème:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function serie_getByEpisode($pdo, $id_episode)	{
	$queryStr = 'select s.* from serie s INNER JOIN serie_saison ss ON s.id = ss.id_serie INNER JOIN episode e ON ss.id = e.id_serie_saison where e.id = :id';
	$serie = null;
	try	{
		$query = $pdo->prepare($queryStr);
		$query->bindParam(':id', $id_episode, PDO::PARAM_INT);
		$query->execute();
		$series = $query->fetchAll(PDO::FETCH_CLASS, "Serie");
 
		/**
			Sur le nas erreur lorsque l'on ne passe pas par le if et que l'on fait directement
			$query->fetchAll(PDO::FETCH_CLASS, "Serie")[0]
		**/
		if($series != null && is_array($series) && count($series) > 0)	{
			$serie = $series[0];
		}
	} catch(PDOException $e)	{
		$pdo->getLog()->log("erreurs", "err_req", "serie.php > serie_getByEpisode > ".$queryStr, Logger::GRAN_MONTH);
		die("Erreur d'une requ&ecirc;te.<br /><br />Veuillez contacter l'administrateur.");
	}
 
	return $serie;
}