Parse error

Bonjour,

Je souhaite faire un petit moteur de recherche interne.. et voici mon erreur :

Parse error: syntax error, unexpected '{' in /home/httpd/g/-/u/g-unit82/g-u.franceserv.com/page1.php on line 14

Et le code :

<form action="page1.php" method="post">
<input type="text" name="motclef" /> 
<input type="submit" value="Rechercher ..." /> 
</form> 

<?php
mysql_connect("serfr", "er82", "esr"); // Connexion à MySQL
mysql_select_db(" sef1"); // Sélection de la base mateo21


	if(isset($_REQUEST['motclef')){
		$clause = "WHERE url LIKE '%motclef%'"; /* Là, tu peux rajouter un OR description = '%motclef%' */
		/* En faite, sa dit : 
		Si le formulaire est posté tu assignes à la variable clause : "Où l'url correspond au champ motclef" */
	}
	
	if(isset($clause)) {
		$select = "SELECT * FROM moteur " . $clause;
		$result = mysql_query($select);
	}
	else {
		$select = "SELECT * FROM moteur";
		$result = mysql_query($select);
	}
	
	/* Ensuite, tu affiches le tout ;) */
	
mysql_close(); // Déconnexion de MySQL
	?>


Je pense qu'il y a un peu d'erreur, mais malgres beaucoup d'essais, je ne les trouves pas.

Merci de votre aide !
Configuration: Windows Vista
Firefox 3.0.11

2 réponses

  1. Bonjour

    De plus :
    $clause = "WHERE url LIKE '%motclef%'"; est à remplacer par
    $clause = "WHERE url LIKE '%".mysql_real_escape_string($_REQUEST['motclef'])."'";
    Ça ne provoquait pas de message d'erreur, mais tu n'aurais jamais rien trouvé avec ta requête qui n'acceptait que les textes contenant 'motclef' en toutes lettres (et non pas les textes indiqués dans le champ motclef)