Str_replace avec tableau php

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. 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
    1. 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.