Page 1 sur 1

Problème de classe

Posté : 09 juil. 2008, 23:11
par djtec
Bonsoir,

Voilà j'ai une classe avec des requêtes sql et le problème c'est que quand je ne aucune fonction de la classe les requêtes cherche toujours à s'exécuter quand même.

Voici le message d'erreur généré:

Code : Tout sélectionner

Parse error: syntax error, unexpected T_IF in /home/t/o/r/djtec/www/home/includes/class/class_search.php on line 18
Voici ma classe:
<?php

class Search
{

	var $author;
	var $title;
	var $days;
	var $duration;


	// Fonction de recherche par auteur
	function search_author()
	{
	
		$sql = "select * from ".$prefix.TABLE_SEARCH." where author like '%".$this->author."%' order by id"
		
		if( empty($this->author) )
		{
			if( !($req = $db->sql_query($sql)) )
			{
				message_die('Erreur SQL:', __LINE__, __FILE__, $sql);
			}
		}
		
		return $req;
	
	}
	
	
	// Fonction de recherche par titre
	function search_title()
	{
	
		$sql = "select * from ".$prefix.TABLE_SEARCH." where title like '%".$this->title."%' order by id"
		
		if( !($req = $db->sql_query($sql)) )
		{
			message_die('Erreur SQL:', __LINE__, __FILE__, $sql);
		}

		return $req;
	
	}
	
	
	// Fonction de recherche par date de sortie
	function search_days()
	{
	
		$sql = "select * from ".$prefix.TABLE_SEARCH." where days like '%".$this->days."%' order by id"
		
		if( !($req = $db->sql_query($sql)) )
		{
			message_die('Erreur SQL:', __LINE__, __FILE__, $sql);
		}

		return $req;
	
	}

}
?>
J'ai cherché mais je ne vois pas comment faire donc si quelqu'un à une idée elle sera la bien venu.

Merci d'avance...

Posté : 09 juil. 2008, 23:19
par Sékiltoyai
Je suis désolé, mais j'ai beau essayer, rien n'y fait, je n'arrive pas à ne pas voir ton erreur, elle est si flagrante :)
Cherche à la fin de la ligne précédente…

Posté : 09 juil. 2008, 23:22
par zeus
Je ne comprend rien à ton message ... :?

Toujours est-il que l'erreur signifie que PHP a rencontré un if à la ligne 18 alors qu'il n'attendais pas ça.
Pour résoudre cette erreur, il faut se rendre à la ligne 18, et revenir aux derniers caractères avant ce if qui ne devrait pas être là.
Et, effectivement, il manque un ; à la fin de l'instruction précédente.

Mais j'aimerais que tu nous précises comment ce message d'erreur t'as amené à penser que tes requêtes s'exécutaient quand même ... :-k

Posté : 10 juil. 2008, 18:16
par Ryle
Mais j'aimerais que tu nous précises comment ce message d'erreur t'as amené à penser que tes requêtes s'exécutaient quand même ... :-k
Sans doute ne comprenait-il pas comment une erreur pouvait être signalée dans une méthode alors que celle-ci n'était pas appellée :)

La réponse étant que comme il s'agit d'une "parse error" php considère que le script n'est pas valide et ne l'exécute pas - en fait il fait une "relecture" de ton script avant de l'exécuter, et arrête donc tout avant même de savoir si tes méthodes sont appellées ou pas :)

Posté : 11 juil. 2008, 10:33
par Vurtu
aussi bête que ça soit, il manque un point virgule après les déclarations de $sql :)

EDIT : oops, réponse déja trouvée, ... pas bien réveillé :/ désolé du dérangement :oops:

Posté : 11 juil. 2008, 12:42
par Sékiltoyai
Par ailleurs ce n'est pas la meilleure idée qu'il soit de donner la réponse cash... Il est mieux de donner des pistes de réponses...

Posté : 11 juil. 2008, 18:08
par djtec
oulah il faut que j'arrête de boire :D

J'ai cherché partout sans rien voir :oops: :oops: :oops: :oops: :oops:

C'est vrai que l'erreur est facile pourtant

Désolé

Merci beaucoup

Je sais pas ce que je pensais se jour là mais surement qu'il fallait que j'aille dormir...............