Bonjour,

j'ai créer un formulaire qui inserer avec LOAD DATA LOCAL INFILE les données d'une table temporaire si tout se passe bien, aucune erreur je voudrai mettre a jour ces données avec ma vrai table.

Et c'est la que je bloque voici mon code actuel:

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
$file_csv = $_FILES['file']['tmp_name'];
 
 
$pdo_extraParams = array(
         PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,    // rapport d'erreurs sous forme d'exceptions
         PDO::ATTR_PERSISTENT => true,             // Connexions persistantes
         PDO::MYSQL_ATTR_LOCAL_INFILE => true  // encodage UTF-8
         );
      // Instancie la connexion
 
 
 
 
if (isset($_FILES['file']) && $_FILES['file']['error'] == 0)
		{
			/*vide la table temporaire*/
			$sql_vide = 'TRUNCATE TABLE servicepublic_temporaire ';
			$pdo->exec($sql_vide);
 
			$fichier = $_FILES['file']['tmp_name'];
			//Chargement fichier CSV
			$sql = "LOAD DATA LOCAL INFILE '$file_csv'
					INTO TABLE servicepublic_temporaire 
					FIELDS TERMINATED BY ';'
					LINES TERMINATED BY '\r\n'
					IGNORE 1 LINES";
			$pdo->exec($sql);
 
 
 
$sql_update = 'SHOW COLUMNS FROM servicepublicv1;
update servicepublicv1 SELECT nom_service_public,adresse,code_postal,commune,telephone,fax,email,url FROM servicepublic_temporaire
where servicepublicv1.id_service = servicepublic_temporaire.id_service'
;
 
 $pdo->exec($sql_update);
 
 
 	$sql_insert = 'SHOW COLUMNS FROM servicepublicv1;
INSERT INTO ef_servicepublicv1 SELECT nom_service_public,adresse,code_postal,commune,telephone,fax,email,url FROM servicepublic_temporaire
ON DUPLICATE KEY UPDATE id_service = VALUES(id_service)'
;
 
 $pdo->exec($sql_insert);
		}
la page me renvoi "14 Cannot execute queries while other unbuffered queries are active."



1/ ce qui me manque c est verifier que tout s est bien passe dans le remplissage de la table temporaire pour faire ensuite la copy dans la table servicepublicv1

2/ Et que lors de la copy des donnés de la tabe temporaire a la table servicepublic1 deja rempli de l'ancienne modification;

Une modification des colonnes deja présentes s effectue et si il y'a de nouvelle lignes l'insertion de nouvelles lignes sachant que j'ai un id_service au debut autocomplete.

merci pour votre aide.