par
zeus » 11 juil. 2007, 09:35
Dans le code que tu nous montres, tu créer la fonction InserToTable(), mais tu ne l'appelles jamais.
Pour faire une métaphore, c'est comme si tu préparais un joli feu d'artifice, mais que tu n'allumais jamais la mèche
Regarde ce code que j'ai commenté et légèrement modifié et essaye de comprendre ce que j'ai fait
<?php
// Je pense que la connexion à la base de données doit se trouver dans ce fichier
require_once('Connections/exercice.php');
// Sélection de la base de données à utiliser
mysql_select_db($database_exercice, $exercice);
/* Tout le contenu de ce commentaire est inutile. En effet, pas besoin de SELECT pour un INSERT.
Tu peut donc le supprimer
$query_Recordset1 = "SELECT * FROM csv";
$Recordset1 = mysql_query($query_Recordset1, $exercice) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);*/
$fileName = "insert.csv";
$tableName = "nom_prenom";
$con = "1";
// Définition de la fonction permettant d'insérer le CSV dans la base de données
function insertIntoTable( $fileName, $tableName, $con )
{
$file = fopen( $fileName, 'r' );
$k = 0;
while ( ! feof( $file ) )
{
$k++;
$line = fgets( $file, 1024 );
if ( strlen( $line ) > 2 )
{
$line = addslashes( $line );
$line = str_replace( ";", "', '", $line );
$requete = 'INSERT INTO '.$tableName.' VALUES ( \''.$line.'\' ) ';
if ( ! mysql_query( $requete, $con ) )
echo 'Erreur Ligne '.$k.' : '.mysql_error().'<br>'.$requete.'<br>';
}
else
echo 'Ligne '.$k.' ignorée.<br>';
}
echo '<p>Insertion du fichier '.$fileName.' terminé.</p><hr>';
fclose( $file );
}
// Appel de la fonction (C'est là qu'on allume la mèche)
insertIntoTable($filename, $tablename, $exercice); // Tu remarques que le 3ème parametre, c'est la connexion à ta base de données
/* Comme tu n'utilises pas le SELECT, pas la peine de libérer de la ressource
mysql_free_result($Recordset1);*/
?>
Dans le code que tu nous montres, tu créer la fonction InserToTable(), mais tu ne l'appelles jamais.
Pour faire une métaphore, c'est comme si tu préparais un joli feu d'artifice, mais que tu n'allumais jamais la mèche ;)
Regarde ce code que j'ai commenté et légèrement modifié et essaye de comprendre ce que j'ai fait ;)
[php]<?php
// Je pense que la connexion à la base de données doit se trouver dans ce fichier
require_once('Connections/exercice.php');
// Sélection de la base de données à utiliser
mysql_select_db($database_exercice, $exercice);
/* Tout le contenu de ce commentaire est inutile. En effet, pas besoin de SELECT pour un INSERT.
Tu peut donc le supprimer
$query_Recordset1 = "SELECT * FROM csv";
$Recordset1 = mysql_query($query_Recordset1, $exercice) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);*/
$fileName = "insert.csv";
$tableName = "nom_prenom";
$con = "1";
// Définition de la fonction permettant d'insérer le CSV dans la base de données
function insertIntoTable( $fileName, $tableName, $con )
{
$file = fopen( $fileName, 'r' );
$k = 0;
while ( ! feof( $file ) )
{
$k++;
$line = fgets( $file, 1024 );
if ( strlen( $line ) > 2 )
{
$line = addslashes( $line );
$line = str_replace( ";", "', '", $line );
$requete = 'INSERT INTO '.$tableName.' VALUES ( \''.$line.'\' ) ';
if ( ! mysql_query( $requete, $con ) )
echo 'Erreur Ligne '.$k.' : '.mysql_error().'<br>'.$requete.'<br>';
}
else
echo 'Ligne '.$k.' ignorée.<br>';
}
echo '<p>Insertion du fichier '.$fileName.' terminé.</p><hr>';
fclose( $file );
}
// Appel de la fonction (C'est là qu'on allume la mèche)
insertIntoTable($filename, $tablename, $exercice); // Tu remarques que le 3ème parametre, c'est la connexion à ta base de données
/* Comme tu n'utilises pas le SELECT, pas la peine de libérer de la ressource
mysql_free_result($Recordset1);*/
?>[/php]