1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| $nomTableTemp = "test_".time();
// PDO
$conn = new conn;
$pdo = $conn->newCon('');
// req 1
$queryPos = "SELECT count(utilisateur_idutilisateur) FROM ".$nomTableTemp." WHERE rank BETWEEN :rangDebut AND :rangFin";
$prep = $pdo->prepare($queryPos);
$rangDebut;
$rangFin;
$prep->bindParam(':rangDebut', $rangDebut, PDO::PARAM_INT);
$prep->bindParam(':rangFin', $rangFin, PDO::PARAM_INT);
// REQ 2
$queryPrime = "INSERT INTO table (val1,val2,val3,val4,val5,val6,val7,val8,val9,val10)
VALUES (:val1,NOW(),0,NOW(),:val2,:val3,:val4,'',:val5,:val6)";
$prepPrime = $pdo->prepare($queryPrime);
$val1;
$val2;
$val3;
$val4;
$val5;
$val6;
$prepPrime->bindParam(':val1', $val1, PDO::PARAM_INT);
$prepPrime->bindParam(':val2', $val2, PDO::PARAM_STR);
$prepPrime->bindParam(':val3', $val3, PDO::PARAM_INT);
$prepPrime->bindParam(':val4', $val4, PDO::PARAM_INT);
$prepPrime->bindParam(':val5', $val5, PDO::PARAM_STR);
$prepPrime->bindParam(':val6', $val6, PDO::PARAM_STR);
// Fin préparation requêtes
// Création d'une table temporaire
$query = " CREATE TABLE ".$nomTableTemp." SELECT * FROM uneautreTable";
$result = mysqli_query($link, $query) or die(mySqlMailError($query." ".mysqli_error($link)));
$query = "SELECT * FROM ".$nomTableTemp;
$result = mysqli_query($link,$query ) or die(mySqlMailError($query." ".mysqli_error($link)));
deconnexionV3($link);
// Début d'un While sur 65000 enregistrement
while($dataMatrice = mysqli_fetch_array($result )){
// Creation des variables pour la requêtes préparé
$rangDebut = "un calcul";
$rangFin = "un autre calcul";
// Execution de la première requête
try{
$prep->execute();
if($prep->rowCount()==1){
$dataP = $prep->fetch();
}
}
catch(PDOException $e){
$retour = FALSE;
exit('<b>Catched exception at line '. $e->getLine() .' :</b> '. $e->getMessage());
}
// Un controle de résultat de la requete préparé N1
if($dataP['valeur']!='0'){
try{
$prepPrime->execute();
}
catch(PDOException $e){
exit('<b>Catched exception at line '. $e->getLine() .' :</b> '. $e->getMessage());
}
}// Fin controle valeur
} // Fin du While
$link = connexionV3('');
$sqlDrop = "DROP TABLE ".$nomTableTemp;
$reqDrop = mysqli_query($link,$sqlDrop) or die(mySqlMailError($sqlDrop." ".mysqli_error($link)));
deconnexionV3($link);
//Clore la requête préparée
$prep->closeCursor();
unset($prep);
$prepPrime->closeCursor();
unset($prepPrime); |
Partager