Bonjour,
j'ai un problème avec des requêtes mysql !!
Alors, j'ai 2 requetes un select puis un update.
J'avais testé mes requêtes sur 40 lignes dans une table, cela fonctionnait bien, il update bien dans ma table.
Mais lorsque j'ai souhaité mettre en application (40000 lignes), cela update toujours bien dans mes tables mais en revanche il ne me dit jamais qu'il a fini le travail (il rest bloqué sur ma page alors que lorsque j'avais 40 ligne il me disait OK (echo ...)!!
Est-ce que quelqu'un a une idée de où cela peut venir?? il doit avoir un bug quelque part mais je ne sais pas où et pourquoi !!!!
merci d'avance:
ci dessous mon code php:
<?php
//PARAMETRE DE CONNEXION
$hostname="srv-msg.net";
$username="user";
$password="pwduser";
$reference="CNXGlob";
$sirene="sirene";
$tablegrp="groupes";
$tabledtgrp="det_grp";
$nomtablesir="sirene";
//VERIFICATION CONNEXION SERVEUR
$link=mysql_connect($hostname, $username, $password);
if (!mysql_connect($hostname, $username, $password))
{
echo "ERREUR PASSWORD SERVEUR";
}
//VERIFICATION CONNEXION BASE
if (!mysql_select_db($reference, $link))
{
echo "ERREUR BASE REFERENCE";
exit();
}
if (!mysql_select_db($sirene, $link))
{
echo "ERREUR BASE SIRENE";
exit();
}
?>
<?php
//RECUPERATION DES PARAMETRES
//DECLARATION POUR EPCI
$reqaepci=mysql_query("select $nomtablesir.id_unique, $tabledtgrp.CODE_ELT, $tablegrp.CODE_GROUPE, $nomtablesir.INSEE from $sirene.$nomtablesir, $reference.$tabledtgrp, $reference.$tablegrp where $tablegrp.code_regroupt='epci' and $tablegrp.type_elt='comm' and $tabledtgrp.date_geree='oui' and $tabledtgrp.date_entree <= '$date' and $tabledtgrp.date_sortie >= '$date' and $tabledtgrp.TYPE_ELT='comm' and $tabledtgrp.CODE_GROUPE=$tablegrp.CODE_GROUPE and $nomtablesir.INSEE=$tabledtgrp.CODE_ELT and $nomtablesir.DATE='$fich'" );
if (!$reqaepci)
{ die('Requête invalide : ' . mysql_error());
exit(); }
if ($reqaepci)
{ echo "OK REQ A EPCI";}
//$dataepci = mysql_fetch_array($reqaepci);
while ($dataepci = mysql_fetch_array($reqaepci))
{
$reqbepci=mysql_query("update $sirene.$nomtablesir set epci='$dataepci[CODE_GROUPE]' where $dataepci[id_unique]" );
}
if (!$reqbepci)
{ die('Requête invalide B ECPI: ' . mysql_error()); exit();}
if ($reqbepci)
{ echo "OK REQ B EPCI";}
alors j'ai rajouté ça :
ini_set('max_execution_time', 0);
mais mon problème est que les requetes fonctionnent car ma base est bien mis à jours e nrevanche, il s'arrete pas !! lorsque je teste sur une 40aine de ligne tut marche très bien il traite bien mes requete mais en revanche lorsque je traite 40 000 lignes il met à jours ma table mais me dit jamais qu'il a traité !!! je ne comprends pas tout !!!