Bonjour tout le monde,
je souhaite inserer ce format json : ["ROLE_USER","ROLE_EDITOR","ROLE_ADMIN"] dans une colum de type json dans ma table mysql.
ma table
Dans mon html, j'ai utilisé des checkbox :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE roles( id int NOT NULL AUTO_INCREMENT, email varchar(60) NOT NULL, roles json NOT NULL );
- user => value : ["ROLE_USER"]
- editor => value : ["ROLE_EDITOR"]
- admin => value :["ROLE_ADMIN"]
mon code php
resultat => ["ROLE_USER","ROLE_EDITOR","ROLE_ADMIN"]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if(isset($_POST['roles'])) $roles = $_POST['roles']; $mesRoles = ''; if (!empty($roles)) { foreach ($roles as $role) { $mesRoles .= '"' . $role . '"' . ','; } } $roles = '[' . trim($mesRoles, ',') . ']'; echo $roles;
Pour l'insertion j'ai le code erreur
code erreur :
Fatal error: Uncaught PDOException: SQLSTATE[22032]: <<Unknown error>>: 3140 Invalid JSON text: "Invalid value."
at position 0 in value for column 'users.roles'.
je veux ce resultat dans ma base:
j'utilise
php vsersion: 7.4.26
mysql : 5.7.36
Wamp
apache 2.4.51
Partager