IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

requête PDO et LIKE [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut requête PDO et LIKE
    Bonjour a tous,
    Je n'arrive pas a résoudre mon soucis avec LIKE et PDO.

    message d'erreur : Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes)

    code concerné :

    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
    24
    25
    26
     
    $offre = $connexion -> prepare("SELECT id_offre, departement, poste, date, experience, salaire, id_user FROM offres WHERE experience LIKE :motclef ORDER BY date DESC");
    		$listoffres = array();
    		while($offre -> execute(array('motclef' => '%'.$requete.'%' )))
    			{
     
      		 	$liste_offres['id_offre'];
     
      			// Nom du poste
      			$poste = $connexion -> prepare("SELECT poste FROM postes WHERE id_poste=:id");
    			$poste -> BindValue('id',$liste_offres['poste']);
    			$poste -> execute();
    			$nom_poste  =  $poste->fetch();
      			$liste_offres['poste'] = $nom_poste['poste'];
     
      			$liste_offres['date'] = date('d/m/Y',strtotime(''.$liste_offres['date'].' 00:00'));
     
      			// Nom du département
      			$departement = $connexion -> prepare("SELECT nom FROM dept WHERE id_dept=:id_dept");
    			$departement -> BindValue('id_dept',$liste_offres['departement']);
    			$departement -> execute();
    			$nom_departement  =  $departement->fetch();
     
      			$liste_offres['departement'] = $nom_departement['nom'];
      			$listoffres[] = $liste_offres;
    			}

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    a quoi sert ton while ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut
    Pour récupérer tous les champs qui contiennent le contenue de la recherche.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par le nOoB Voir le message
    Pour récupérer tous les champs qui contiennent le contenue de la recherche.
    non la tu execute la requête la l'infinie, relis toi bien

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut
    exact

    j'ais modifié mais comme c'est la première fois que j'utilise like avec pdo je sais pas trop comment faire et sur le web ou dans mes bouquins je trouve pas grand chose. Je pense que sa vient du faite que je fasse deux tableaux ....

    nouveau message d'erreur : Fatal error: Call to a member function fetch() on a non-object

    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
    24
    25
    26
    27
     
    $offre = $connexion -> prepare("SELECT id_offre, departement, poste, date, experience, salaire, id_user FROM offres WHERE experience LIKE :motclef ORDER BY date DESC");
    		$offre -> execute(array('motclef' => '%'.$requete.'%' ));
    		$listoffres = array();
    		while($liste_offres -> fetch())
    			{
     
      		 	$liste_offres['id_offre'];
     
      			// Nom du poste
      			$poste = $connexion -> prepare("SELECT poste FROM postes WHERE id_poste=:id");
    			$poste -> BindValue('id',$liste_offres['poste']);
    			$poste -> execute();
    			$nom_poste  =  $poste->fetch();
      			$liste_offres['poste'] = $nom_poste['poste'];
     
      			$liste_offres['date'] = date('d/m/Y',strtotime(''.$liste_offres['date'].' 00:00'));
     
      			// Nom du département
      			$departement = $connexion -> prepare("SELECT nom FROM dept WHERE id_dept=:id_dept");
    			$departement -> BindValue('id_dept',$liste_offres['departement']);
    			$departement -> execute();
    			$nom_departement  =  $departement->fetch();
     
      			$liste_offres['departement'] = $nom_departement['nom'];
      			$listoffres[] = $liste_offres;
    			}

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu te relis pas ...

    t'as $listoffres et après $liste_offres, et pareil ton while ne sert pas a grand chose ici, est ce que tu comprends comment fonctionne un while ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut
    correction

    erreur : Parse error: syntax error, unexpected T_STRING in

    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
    24
    25
    26
    27
     
    $offre = $connexion -> prepare("SELECT id_offre, departement, poste, date, experience, salaire, id_user FROM offres WHERE experience LIKE :motclef ORDER BY date DESC");
    		$offre -> execute(array('motclef' => '%'.$requete.'%' ));
    		$listoffres = array();
    		while($liste_offres -> fetch())
    			{
     
      		 	$liste_offres['id_offre'];
     
      			// Nom du poste
      			$poste = $connexion -> prepare("SELECT poste FROM postes WHERE id_poste=:id");
    			$poste -> BindValue('id',$liste_offres['poste']);
    			$poste -> execute();
    			$nom_poste  =  $poste->fetch();
      			$liste_offres['poste'] = $nom_poste['poste'];
     
      			$liste_offres['date'] = date('d/m/Y',strtotime(''.$liste_offres['date'].' 00:00'));
     
      			// Nom du département
      			$departement = $connexion -> prepare("SELECT nom FROM dept WHERE id_dept=:id_dept");
    			$departement -> BindValue('id_dept',$liste_offres['departement']);
    			$departement -> execute();
    			$nom_departement  =  $departement->fetch();
     
      			$liste_offres['departement'] = $nom_departement['nom'];
      			$listoffres[] = $liste_offres;
    			}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PDO] Plusieurs LIKE dans la requête PDO
    Par dancom5 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/06/2013, 14h11
  2. [MySQL] pdo requête préparé et like
    Par le nOoB dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/11/2011, 18h01
  3. [SQL] Erreur sur une requète avec un Like
    Par heruwenli dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/05/2007, 14h29
  4. [Hibernate] Requête avec un LIKE %% case insensitive
    Par n@n¤u dans le forum Hibernate
    Réponses: 4
    Dernier message: 21/06/2006, 17h27
  5. Déterminer une requête paramétrée avec LIKE
    Par priest69 dans le forum Access
    Réponses: 4
    Dernier message: 24/10/2005, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo