Str_replace avec tableau php

skflers61 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2845 Statut Membre -
Bonjour,

j'ai un petit soucis avec un tableau en php.

Dans mon tableau, j'ai des valeurs dans lesquelles il y a des & et je voudrais les échapper en mettant un \ devant.

Mon tableau est créer après une requête sql.

Je voudrais faire un str_replace sur tous les éléments de mon tableau.

Voici mon code:
$resultats = $this->varSaisie->recupFinaliteParProjet($projet); 	
				
$resultats->setFetchMode(PDO::FETCH_OBJ);

while( $resultat = $resultats->fetch() ){
	$resultat = str_replace("&", "\&", $resultat);
        ...	
}


recupFinaliteParProjet est la fonction qui effectue ma requête sql.

Ceci me renvoie l'erreur:
Catchable fatal error: Object of class stdClass could not be converted to string 


Bon, l'erreur est assez explicite mais je ne sais pas comment corriger ça.

Merci pour vos réponse.

2 réponses

  1. Utilisateur anonyme
     
    Bonjour

    j'ai un petit soucis avec un tableau en php
    Justement non ce n'est pas un tableau, c'est bien là le souci.

    Pourquoi fais-tu $resultats->setFetchMode(PDO::FETCH_OBJ); alors que tu parles de tableau et que tu dis que le message est explicite ? Tu peux utiliser FETCH_NUM ou FETCH_ASSOC ou encore d'autres variantes, mais surtout pas FETCH_OBJ. Quand tu utilises FETCH_OBJ, tu récupères un objet et non pas un tableau.
    0
  2. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Essaye comme ceci :
    $resultats = $this->varSaisie->recupFinaliteParProjet($projet);
    $resultats->setFetchMode(PDO::FETCH_OBJ);
    
    $tableau = array();
    
    while( $resultat = $resultats->fetch() ){
            $tableau[] = str_replace("&", "\&", $resultat->value);
    }
    
    var_dump($tableau);
    


    Tu dois remplacer 'value' par le nom du champ sql que tu souhaites récupérer (cf. ta requête).

    Bonne journée
    0