Insertion des données avec php [Résolu/Fermé]

Signaler
Messages postés
45
Date d'inscription
mardi 31 janvier 2012
Statut
Membre
Dernière intervention
10 mars 2014
-
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
-
Bonjour,
j'ai ecrit un code php pour l'insertion de mes données des fiches excel dans ma base sql mais l'insertion ne s'affecte pas svp qq1 de vous peux m'aider!!!
Le code est le suivant:

<?php

ini_set("maximum_execution_time", 3000000000000000000000000000000000000);
require_once 'Excel/reader.php';
$mabasededonnee="rose";

$connection = mysql_connect('localhost','root','');
// test la connection
if ( ! $connection )
die ("connection impossible");
// Connecte la base
mysql_select_db($mabasededonnee) or die ("pas de connection");

// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();

error_reporting(E_ALL ^ E_NOTICE);
// Set output Encoding.
$data->setOutputEncoding('CP1251');

$data->read('liste des clients Adel Abida Cap Bon.xls');

// echo $data->sheets[0]['numRows'];
// exit;

//error_reporting(E_ALL ^ E_NOTICE);

for ($i = 3; $i <= $data->sheets[0]['numRows']; $i++)
{
//Ref
$requet= "INSERT INTO vtiger_accounts (account_no , accountname , phone , fax) VALUES ('".$data->sheets[0]['cells'][$i][1]."', '".$data->sheets[0]['cells'][$i][2]."',
'".$data->sheets[0]['cells'][$i][5]."' , '".$data->sheets[0]['cells'][$i][6]."')";


$requet= "insert into vtiger_accountbillads ( bill_street , bill_city) values ('".$data->sheets[0]['cells'][$i][3]."', '".$data->sheets[0]['cells'][$i][4]."')";


mysql_query($requet,$connection);


}
mysql_close($connection);

?>

1 réponse

Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
52
Bonjour,

Je voit que tu as 2 requête insert, laquelle ne fonctionne pas ?
Ensuite, je pense que ton problème vient du fait que tes 2 requêtes sont incrémenté dans la même variable ce qui à mon avis pose problème.
Soit tu fait un mysql_query après chaque requête soit tu fait ça (bien entendu, je te laisse modifier les ...) :
$requet .= "BEGIN;";
$requet .= "INSERT .......;";
$requet .= "INSERT........;";
$requet .= "END;";
mysql_query($requet, $connection);
*

Cordialement.

Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
52
Je me demande si c'est pas la connexion à la base qui crash, pour vérifier cela je te conseil de conserver juste la connexion et ajouter une tite requête select par exemple.
Messages postés
45
Date d'inscription
mardi 31 janvier 2012
Statut
Membre
Dernière intervention
10 mars 2014

non il fait une connexion à la base ,j'ai testé maintenant et il m'a affiché les données spécifié d'une table donc le problème n'est pas dans la connexion à la base
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
52
Je pense que la ligne
error_reporting(E_ALL ^ E_NOTICE);
n'est pas forcément utile car dans ce que j'ai vu sur la documentation de PHP c'est la configuration par défaut de php.ini.
Ensuite si cela fonctionne toujours pas, essaye avec le nom d'un fichier sans espace(à la place des espaces met des _
Messages postés
45
Date d'inscription
mardi 31 janvier 2012
Statut
Membre
Dernière intervention
10 mars 2014

//error_reporting(E_ALL ^ E_NOTICE); c'est commentaire donc je l'utilise pas dans le code
mais les espace dans le nom de fichier n'a aucun effet puisque je peux lire le contenu de ce fichier à partir des echo faites
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
52
Oui en effet, désolé j'avais mal vu ;)
La comme ça je suis au regret de te dire que je voit pas trop pourquoi rien ne s'enregistre et surtout que tu as aucun message d'erreur.
Si tu arrive à lire les données du fichier, que quand tu fait un echo de tes requêtes et que tu teste cette dernière dans ton requêteur et tout fonctionne parfaitement.
Je voit donc que le problème doit venir de mysql_query qui s'exécute pas mais pourquoi ?! c'est la question que je me pose et dont pour le moment je n'ai pas de réponse.