Bonsoir,
Je rencontre un problème pour échapper un apostrophe et le stoker dans un fichier JSON
J’ai bien essayé la fonction utf8_encode
mais elle me retourne une erreur.
Warning: utf8_encode() expects parameter 1 to be string, object given in C:\wamp\www\...\models\manager-pages.php on line 38
Je stocke dans ce fichier JSON le nom et les URL de mon menu.
J'ai apporter des modifications la première:
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')
Quand je me connecte à la bdd et j'ajoute le paramêtre: JSON_HEX_APOS
se qui donne
menu = json_encode($file_menu, JSON_HEX_APOS);
Pour plus d'information voir: php.net/manual/fr/json.constants.php Pour l’instant je n'ai plus de problème.
Bonsoir,
Ton erreur est écrit ici.
Il te dit que la fonction utf8_encode attend 1 paramètre string (une chaine de charactère) et tu lui donne un objet donc ça risque pas de marché.
Peux tu montrer le code en question ?
Ce code est dans un model d'une ORM nan ? Si oui quel framework et/ou quel ORM ?
De plus tu ne te sert jamais de ta variable $slug ligne 3, c'est normal ?
@drdoom Quequ'une ORM ? Non je n'utilise aucun framework. Si j'utilise la variable $slug ligne 4 si je fait:
$file_menu->$page->slug = $page->name;
ça ne marche pas mais si je fait
$slug = $page->slug;
$file_menu->$slug = $page->name;
tout fonctionne
Ok je vois je ne savais pas que cette syntax était possible en php !
Une ORM "Object Related Model" permet de gérer les entrées de ta base de données via des objets.
C'est pas ce que fait un peu pdo ?
La syntaxe est visiblement possible mais peut être pas fait dans les règles de l'art mais je ne connais aucune autre.