bonjour tout le monde.
J'ai un soucis avec une requête sql.
Pour une fonctionnalité d'import de fichier csv, j ai intégré une librairie tierce
pour importer les données de ce fichier dans une table mysql.
J'ai une erreur 1054, mais je ne sait pas exactement quelle est cette erreur.
J ai juste le message erreur 1054 qui s'affiche sans avoir le message exact.
Si' j avais le message complet, je saurait ce qui se passe, mais la je ne l ais pas
L'import et la création des objets fonctionne,
et la requete que j'obtiens fonctionne quand je la lances directement sur le serveur mysql
mais pas losque je l'execute dans joomla.
La structure de la table est la suivante :
le code ci dessous est celui que j'utilise Dans un custom code chronoforms.
Le résultat de l'instruction echo $query est le suivant :
quand je copies cette requete directement dans le sgbd, celle ci fonctionnes, mais pas quand elle est lancée depuis joomla.
Est ce que quelq'un a une idée de ce qui ne vas pas ?
J'ai un soucis avec une requête sql.
Pour une fonctionnalité d'import de fichier csv, j ai intégré une librairie tierce
pour importer les données de ce fichier dans une table mysql.
J'ai une erreur 1054, mais je ne sait pas exactement quelle est cette erreur.
J ai juste le message erreur 1054 qui s'affiche sans avoir le message exact.
Si' j avais le message complet, je saurait ce qui se passe, mais la je ne l ais pas
L'import et la création des objets fonctionne,
et la requete que j'obtiens fonctionne quand je la lances directement sur le serveur mysql
mais pas losque je l'execute dans joomla.
La structure de la table est la suivante :
Code:
show columns from dx65r_impayes; +------------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------------+--------------+------+-----+---------+----------------+ | id | mediumint(9) | NO | PRI | NULL | auto_increment | | N� CONTRAT DEFINITIF | varchar(15) | YES | | NULL | | | N� CONTRAT INITIAL | varchar(10) | YES | | NULL | | | SITUATION | varchar(50) | YES | | NULL | | | NOM ASSURE | varchar(100) | YES | | NULL | | | MOTIF REJET | varchar(50) | YES | | NULL | | | DATE DE SITUATION | varchar(20) | YES | | NULL | | | CODE APPORTEUR | varchar(50) | YES | | NULL | | | CABINET | varchar(20) | YES | | NULL | | | DATE DE DEBUT | varchar(20) | YES | | NULL | | | DATE DE FIN | varchar(20) | YES | | NULL | | | MONTANT | int(20) | YES | | NULL | | +------------------------+--------------+------+-----+---------+----------------+ 12 rows in set (0.00 sec)
Code:
<?php jimport('csv.parsecsvlib'); $csv = new parseCSV(); $file = $form->files['csv']['path']; $csv->auto($file); $keys = array_values($csv->titles); $keys = array_filter( array_values($csv->titles)); //$keys = array_pop ($keys); $var = implode('`,`', $keys); $var = "`".$var."`"; echo " var ="; echo $var;abc_mysql-root_62 echo '<br />'; foreach ($csv->data as $value) { // suppression de la derniere colonne car celle ci est vide $var2 = array_pop ($value); // j'ai une valeur (montant avec une virgule, donc les instructions ci dessous servent à transformer la virgule en .) $var2 = implode ('\';\'', array_filter( $value)); $var2 = str_replace(',','.',$var2); //et je remplace les ; par des , $var2 = str_replace(';',', ',$var2); // j integres les caratères de début et fin de chaîne $var2 = "'".$var2."'"; $db = JFactory::getDbo(); $query = $db->getQuery(true); $query = "INSERT INTO `dx65r_impayes` ($var) VALUES ($var2)"; echo $query; $db->setQuery($query); //$db->execute(); }
Code:
requete = INSERT INTO `abcd_impayes` (`N� CONTRAT DEFINITIF`,`N� CONTRAT INITIAL`,`SITUATION`,`NOM ASSURE`,`DATE DE SITUATION`,`MOTIF REJET`,`CODE APPORTEUR`,`CABINET`,`DATE DE DEBUT`,`DATE DE FIN`,`MONTANT`) VALUES ('R56789023', 'F45678912', 'Mise en Demeure', 'PORTAIT JOACHIM', '01/09/2016', 'contestation d�biteur', 'ABCD45678', 'CABINET TRAD1', '01/07/2016', '31/07/2016', '14.97')
Est ce que quelq'un a une idée de ce qui ne vas pas ?
Commentaire