Bonjour
J’ai un script qui récupère les data par un web service.
1re étape : Je les enregistre dans une table de MySql
2e étape : ensuite, je mets les infos dans un fichier XML
3e étape : je les enregistre dans une autre table
Tout marche bien.
Mes scénarios :
S'il y a un problème avec MySQl (1re étape), il faut que le script continue pour créer le fichier XML.
S'il y a un problème pendant la création de XML (2e étape), il faut qu'il enregistre au moins dans une autre table de MySQL (3e étape)
Comment je peux le faire ?
Pour le moment j'ai mis try- catch mais je ne sais pas s'il y a un problème avec MySql je peux continuer pour l'enregistrement du fichier XML.
Est ce que mon script peut passer au 3e étape, s'il y a un problème pendant la création du fichier XML ? Sinon que je dois faire ?
Merci
Voici mon code (à peu près) serait ainsi :
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 try { $bdd = new PDO($dsn, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } // 1er partie MySQL try { $mysql= array(':email'=>$email, ':last_name'=>$last_name ); $stmt = $bdd->prepare("INSERT INTO $data ( $email_, $last_name_ ) VALUES (:email :last_name)" ); $stmt->execute($mysql); } catch(Exception $e) { throw $e; } // 2e partie XML header('Content-Type: text/xml'); header('Content-Type: application/xml'); $doc = new DOMDocument('1.0', 'UTF-8'); $doc->preserveWhiteSpace = false; $doc->formatOutput = true; $level_0 = $doc->createElement("engregistrement"); $doc->appendChild($level_0); $nom = $level_0->appendChild($doc->createElement('nom')); $nom->appendChild($doc->createTextNode($last_name_)); $courriel = $level_0->appendChild($doc->createElement('courriel')); $courriel->appendChild($doc->createTextNode($email_)); $fileName = '_data_' . $fileXml. '.xml'; $doc->save($fileName); // 3e partie MySQL try { $mysqlXml= array(':xmlFile'=>$xmlFile, ':where'=>$where ); $stmtXml = $bdd->prepare("INSERT INTO $xmldata ( $xmlFile_, $where_ ) VALUES (:xmlFile :where)" ); $stmtXml->execute($mysqlXml); } catch(Exception $e) { throw $e; }
Partager