Table Temporaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Table Temporaire

par zeus » 11 juin 2005, 19:52

Il y a aussi un truc que tu peut faire, c'est de créer une table tempX où X est le numéro de la table

A chaque fois que tu crée la table, tu vérifie l'existence de la table, si elle existe, tu incrémente X de 1 et ce tant que tu trouve des tables qui existe et dans ce cas, tu es sûr de ne jamais avoir 2 tables du même nom

par Cyrano » 11 juin 2005, 19:40

Ce que tu peux faire pour limiter les risques, c'Est de récupérer un identifiant de session et d'en utiliser une partie pour créer un nom de table temporaire unique en comcaténant par exemple "tmp" et les 7 ou 8 premier caractères d'un ID de session: à moins que tu n'aies quelques milliers d'internautes simultanés (ce que je te souhaite malgré tout), tu as à peu près aucune chance d'avoir deux noms de tables temporaires pareils simultanément.

Table Temporaire

par Cyrille » 11 juin 2005, 19:21

Bonjour à toutes et à tous,
tout d'abord, un grand merci à ce forum et à toutes celles et ceux qui y participent. Etant débutant en PHP, j'ai eu l'occasion d'y trouver à de nombreuses reprises mon bonheur et de gagner ainsi de précieuses heures de galères...
Voiçi mon soucis. Pour les besoins de mon site, je dois créer sur une de mes pages une table temporaire. J'utilise globalement le script suivant (trouvé chez Nexen) :
CREATE TEMPORARY TABLE tmpSELECT champ1_index, champ2_index FROM test_table WHERE champ1_index = '1';
INSERT INTO tmpSELECT champ1_index, champ2_index FROM test_table WHERE champ2_index = '1';
SELECT * from tmp;
DROP TABLE tmp;

tout ceci marche plutôt pas mal et j'obtiens en finalité ce que je désirais. J'ai quand même une crainte quant à l'utilisation de cette table temporaire. En effet, que se passera t'il, lorsque mon site sera chez l'hebergeur, si 2 (ou +) utilisateurs tentent de creer cette table temporaire en exécutant ma page? Personnelement, je crains qu'il y ait un conflit, voir une erreur, car une même table portant le même nom et créée en x exemplaires....ca me paraît voué à l'echec !. Mais peut-être que je me trompe (je suis débutant...). Quelqu'un pourrait-il me confirmer / infirmer le risque que je suppose? Y a-t'il alors un moyen d'éviter le conflit?
D'avance merci pour votre aide.
Salutations,
Cyrille