données csv dans mase de données sql

Eléphant du PHP | 424 Messages

19 mai 2009, 12:24

Bonjour,

Je viens vers vous concernant un probléme concernant un script d'ajout de données d'un fichier csv dans une base sql.

Je m'explique, j'ai trouvé un script sur le net, qui fonctionne d'ailleur parfaitement, et qui ajoute des données d'un fichier csv dans ma base licencies. Mon probléme est que je n'arrive pas à mettre à jour les données !

En résumé, je souhaite ajouter les données si elles n'existent pas et si les données existent les modifier.

Voici un bout de script :
echo '<br /><strong>import en cours</strong> <br /><br />';
	$erreur_sql = ""; //on initialise le journal des erreurs
		//insert dans la base
	echo 'La ligne 1 du fichier CSV correspond à la définition des champs. <br />';
	connecter();
	for ($u=1; $u<$numligneval; $u++) {		
		if ($valeurs[$u] != ""){
			$req = "INSERT INTO $table $colones VALUES $valeurs[$u] ";
			//echo "<br>".$req.'<br />';
			
			if (requette_avec_erreur($req,0)) {
				echo 'ajout de la ligne '.($u+1).' du fichier '.$name_file.'.<br />';
			} else {
				$erreur_sql .= '<font color="red">ligne '.($u+1).' du fichier '.$name_file.' -> Erreur SQL '.mysql_errno().' : '.mysql_error().'</font><br>';
				echo '<font color="red">ligne '.($u+1).' -> Erreur SQL</font><br />';
			}
		}
		
	}
Merci pour votre aide.
Youpi Youpi Yo !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 mai 2009, 12:38

Est-ce que tu sais qu'il existe un post pour apprendre à debbuger?

Et quand on martèle qu'il faut sortir les variables des chaines, c'est pas pour du beurre. :evil:
$req = "INSERT INTO $table $colones VALUES $valeurs[$u] ";
Je suis persuadé que si tu fais un echo $req, tu vas obtenir un truc du genre :
INSERT INTO TableName Colonnes, name VALUES Array[1]
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 424 Messages

19 mai 2009, 13:30

Je ne sais pas pourquoi tu mets un tel message ! surtout pour m'expliquer des choses déjà effectuées....
Dans mon code il est écrit : //echo "<br>".$req.'<br />';

Je vois pas en quoi ton message m'aide.... surtout en me demandant de debbuguer un code qui fonctionne parfaitement ! :roll:

Bref ! je réexpose mon probléme : Je souhaite ajouter les données inexistantes dans ma base et modifier celle qui existe déjà.

merci pour votre aide.
Youpi Youpi Yo !