Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 11/07/2012, 12h24   #1
mchev
Invité de passage
 
Inscription : janvier 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 6
Points : 2
Points : 2
Par défaut Import CSV PDO

Bonjour,
je suis actuellement en train d'essayer d'importer un fichier csv ligne par ligne dans ma base de donnée en laissant la possibilité a l'utilisateur de choisir la corespondances des champs et cellules. Je suis juste en train de m'arracher les cheveux sur l'enregistrement SQL. J'ai cette erreur qui revient et je ne voit vraiment plus d'ou peut venir le problème.

Citation:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\'prénom\', \'nom\', \'surnom\')' at line 1' in /home/users5/m/mchev/www/work/n6t/contacts/import.php:38 Stack trace: #0 /home/users5/m/mchev/www/work/n6t/contacts/import.php(38): PDO->exec('INSERT INTO con...') #1 /home/users5/m/mchev/www/work/n6t/contacts/index.php(113): include('/home/users5/m/...') #2 {main} thrown in /home/users5/m/mchev/www/work/n6t/contacts/import.php on line 38
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if (($handle = fopen("./tmp/tmp.csv", "r")) !== FALSE) 
	{
		while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) 
		{
			$num = count($data);
			$sel = 'a';
			for ($c=0; $c < $num; $c++) 
			{
				if ($c !== $num-1) $and = ', '; else $and = '';
				$champs .= stripslashes($_POST['csql'.$sel]).$and;
				$values .= "\'".$data[$c]."\'".$and;
				$sel++;
			}
			$bdd->exec('INSERT INTO contacts ('.$champs.') VALUES ('.$values.')');
			$champs = '';
			$values = '';
		}
		fclose($handle);
	}
?>
Si quelqu'un à une idée... Merci d'avance!!!
mchev est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h29.


 
 
 
 
Partenaires

Hébergement Web