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;
	}