Bonjour,
Je rencontre des difficultés pour faire un simple ajout dans ma base de données.
Pour le moment mon application est simplement constituée d'une table t_adherents (avec nom, prenom...)
J'ai utilisé la connexion aux services de Flash Builder 4 pour la génération de mes fonctions get, create, delete à partir de cette table.
J'ai lier un datagrid à getAllAdherents et cela fonctionne correctement (j'ai bien tous mes adherents dans le datagrid)
J'ai créer un formulaire pour l'ajout et c'est là que cela coince.
Voici le bout de code dans Flex:
Et le service PHP associé :
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 protected function button_clickHandler(event:MouseEvent):void { t_adherents.adhNom = adhNomTextInput.text; t_adherents.adhPrenom = adhPrenomTextInput.text; createT_adherentsResult.token = tadherentsService.createT_adherents(t_adherents); } <valueObjects:T_adherents id="t_adherents"/> <s:CallResponder id="createT_adherentsResult"/> <tadherentsservice:TadherentsService id="tadherentsService" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/> <s:Form defaultButton="{button}"> <s:FormItem label="AdhNom"> <s:TextInput id="adhNomTextInput" text="{t_adherents.adhNom}"/> </s:FormItem> <s:FormItem label="AdhPrenom"> <s:TextInput id="adhPrenomTextInput" text="{t_adherents.adhPrenom}"/> </s:FormItem> <s:Button id="button" label="Envoyer" click="button_clickHandler(event)"/> </s:Form>
J'ai l'impression que le createT_adherents($item) n'est jamais appelé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public function createT_adherents($item) { $stmt = mysqli_prepare($this->connection, "INSERT INTO $this->tablename (adhNom, adhPrenom) VALUES (?, ?)"); $this->throwExceptionOnError(); mysqli_stmt_bind_param($stmt, 'ss', $item->adhNom, $item->adhPrenom); $this->throwExceptionOnError(); mysqli_stmt_execute($stmt); $this->throwExceptionOnError(); $autoid = mysqli_stmt_insert_id($stmt); mysqli_stmt_free_result($stmt); mysqli_close($this->connection); return $autoid; }
Par contre quand je passe par l'outils de "Opérations de test" de Flash Builder (clic droit sur le service...) j'ai bien l'insert qui se fait.
Je ne voit pas ce qui cloche et je dois certainement oublié quelque chose pour le create.
Merci pour votre aide.
Partager