begin process at 2012 05 30 16:43:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

moteur de recherche


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

moteur de recherche

mercredi 27 juillet 2011 à 02:53:02 | moteur de recherche

aminagu

j essey de faire un moteur de recherche , et ça me donne l erreur suivante

Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table-moteur-de-recherche WHERE motclef LIKE "%inpt%" OR "%ensem%" OR 1=0' at line 1

voici mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Elements trouvés:</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
if(isset($_POST['text-recherche']))// on recupere ce que l utilisateur a tappé
{
$rec = htmlentities($_POST['text-recherche']);// pour recuperer
}
else
{
$rec = 'php MYSQL';
}

?>
<?php
$mots = explode(' ',$rec);//En separre lexpression en mots cles
?>
<?php
// Connexion à la base de données
try
{

$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=moteur-de-recherche', 'root', '', $pdo_options);
$req = "SELECT * FROM table-moteur-de-recherche WHERE motclef LIKE ";
foreach($mots as $mot)
{
$req .= ' "%'.$mot.'%" OR';// c est la ligne de l erreur :(
}
$req .= ' 1=0';

$reponse = $bdd->query($req );
?>
<?php
// Récupération des lignes rechérché

$i=0;
$reponse = $bdd->query($req);
while ($donnees = $reponse->fetch())
{$i=1;
?>
<table>
<tr>
<td><?php echo $donnees['titre']; ?></td>
<td><?php echo $donnees['description']; ?></td>
<td><?php echo $donnees['URL']; ?></td>
</tr>
</table>
<?php
}
?>
<?php
if(i)
{
echo "Essayer autre chose svp " ;}
?>
<?php
$reponse->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>

<p>

</p>
</body>
</html>


mercii d avance si vous avez des remarque ou une solution :)

mercredi 27 juillet 2011 à 07:49:49 | Re : moteur de recherche

coucou747

Administrateur CodeS-SourceS
Bonjour,

Tu peux tenter de mettre ça :
$req = "SELECT * FROM `table-moteur-de-recherche` WHERE motclef LIKE ";

D'une manière générale, utiliser des caractères non alphanumériques dans les noms de tables ou de champs n'est pas une bonne idée.

Cordialement,

Maxime
mercredi 27 juillet 2011 à 09:52:20 | Re : moteur de recherche

cod57

bonjour
ton script est pas bon
voici un exemple de moteur pdo basique
à partir de ton script j'ai bricolé ça
pour que tu comprennes
a++

Code PHP :
<?php 
$mots=array();
if(isset($_POST['text-recherche'])){ 
$rec = trim(htmlentities($_POST['text-recherche']));// pour recuperer 
$mots = explode(' ',$rec);//En separre lexpression en mots cles 
}else{ 
//$complete = 'php MYSQL'; 
} 


if(!empty($mots)){
$req = null; 
$req = 'LIKE \'%'; 
$c=count($mots);
foreach($mots as $k => $mot){
if($k!=($c-1)){
$req .= $mot.'%\' OR  `nom` like \'%';
}else{
$req .= $mot;
}
}
$req .= '%\''; 

echo $conplete = $req; 

echo $conplete = "SELECT nom FROM `table-moteur-de-recherche` WHERE `nom` $conplete";

  try{  
        
        $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; 
        $bdd = new PDO('mysql:host=localhost;dbname=table-moteur-de-recherche', 'root', '', $pdo_options); 
        $reponse = $bdd->query($conplete); 
        echo '<pre>';
        $donnees = $reponse->fetchall();
        //print_r($donnees);
        $reponse->closeCursor(); 
        
         
        if(count($donnees)!=0){
         
          $i=0;$output='';
          while ($i<count($donnees)){ 
          $output .= '<tr><td>'.$donnees[$i]['nom'].'</td></tr>';
          $i++;
          } 
        
        }else{ 
        echo "Essayer autre chose svp ";
        } 
   
  }catch(Exception $e){ 
  die('Erreur : '.$e->getMessage()); 
  }

//fin

}else{
$output=null;
//rien de saisie
} 
?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > 
<head> 
<title>Elements trouvÚs:</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
</head> 
<body>  
<table> 
<?php echo $output;?> 
</table> 
<p> 
</p>
<form action="" method="post">
<input type="text" name="text-recherche">
<input type="submit" value="rechercher">
</form> 
</body> 
</html


-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Mer 27 Juillet 2011 à 09:48
-- Version du serveur: 5.1.36
-- Version de PHP: 5.2.11

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de données: `table-moteur-de-recherche`
--

-- --------------------------------------------------------

--
-- Structure de la table `table-moteur-de-recherche`
--

CREATE TABLE IF NOT EXISTS `table-moteur-de-recherche` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nom` varchar(30) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `nom` (`nom`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

--
-- Contenu de la table `table-moteur-de-recherche`
--

INSERT INTO `table-moteur-de-recherche` (`id`, `nom`) VALUES
(1, 'titi'),
(2, 'toto'),
(3, 'tutu'),
(4, 'rara'),
(5, 'piop'),
(6, 'pout');

Bonne programmation !
mercredi 27 juillet 2011 à 10:05:15 | Re : moteur de recherche

cod57

Réponse acceptée !
remplace par ça aussi
si pas vide
si 2 car

et si il y a un output ...
<?php
$mots=array();
if(isset($_POST['text-recherche']) && !empty($_POST['text-recherche']) && strlen($_POST['text-recherche'])>2){
$rec = trim(htmlentities($_POST['text-recherche']));// pour recuperer
$mots = explode(' ',$rec);//En separre lexpression en mots cles


...

et


<?php if(isset($output)){echo $output;} else{};?>

Bonne programmation !
mercredi 27 juillet 2011 à 11:24:57 | Re : moteur de recherche

aminagu

merciiii a vous infiniment


Cette discussion est classée dans : erreur, recherche, moteur, color, syntax


Répondre à ce message

Sujets en rapport avec ce message

moteur de recherche alphabétique [ par princeg ] Quelqu'un peut-il m'aider, please? je voudrais créer un moteur de recherche alphabétique comme celui présent sur le site www.zouklist.fr.st et en plu moteur de recherche [ par fatNugly ] Bonjour, j'ai des petites questionsle quel des languages suivant php, c, est il le plus adequat pour faire un moteur de recherche dans une page?? la c moteur de recherche [ par fatNugly ] Bonjour, j'ai des petites questionsle quel des languages suivant php, c, est il le plus adequat pour faire un moteur de recherche dans une page??la cr amélioration d'un moteur de recherche [ par Coundelitch ] bonjour !J'aimerai savoir quelles sont les solutions envisagable, afin d'améliorer mon moteur de recherche.Pour info c'est un moteur de recherche en P Requete sur moteur de recherche [ par sana72 ] Bonjour, Je voudrais creer un script qui me permettrait de savoir a quelle position se trouve mon site sur un ou des moteur de recherche, Voila l'idée Creation d'un moteur de recherche [ par Coundelitch ] bonjour !Je dois créer un moteur de recherche en PHP. Ce moteur cherchera dans un dossier des fichiers au format HTML.C'est peut-etre simple mais le p moteur de recherche à partir d'un formulaire [ par cindy648 ] Je dois faire un moteur de recherche en php et je n'y connais rien du tout, pouvez-vous m'aider??? 8)Ce moteur de recherche devra répondre aux requète excuser moi vous avez une idee ?. [ par flashx ] flashxsalut ya t'il quelqu'un qui a une idee pour faire un robot de moteur de recherche car je sais pas comment ca marche de trop la je vais cree un m Moteur de recherche [ par NDK ] Bonjour à tous !!!J'aimerais réaliser en php, un moteur de recherche style net2one si vous connaissez.la différence de ce moteur de recherche par rapp Ajouter la troncature dans un moteur de recherche [ par baboun ] Bonjour, je viens crier au secours.Je tente d'insérer un système de troncature dans mon moteur de recherche php sur base de donnée MySQL.(Sans vouloir


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales