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.

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!!!