IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème avec table temporaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut Problème avec table temporaire
    Salut,

    J'ai un petite problème avec une table temporaire.

    Si je fais dans PHPMyAdmin, cela fonctionne correctement, j'obtiens bien mes valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TEMPORARY TABLE view1 (définition des champs);
    
    INSERT INTO view1 SELECT liste des champs FROM table1;
    
    SELECT * FROM view1;
    Mais je le fais dans une page PHP, cela me bloque à chaque fois sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($row = mysql_fetch_array($result))
    Où ai-je bien pu faire une erreur
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  2. #2
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    C'est pas un problème de transactions ? (parce que je crois que ta table temporaire est détruite à la fin de celle ci).

    Faudrait un peu plus de code parce là, tout semble correct
    Linio

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Quel code du fichier PHP ?
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  4. #4
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Oui.

    Dans la mesure où si ça marche en MySQL ça doit venir de là.

    Tu connais la durée de vie des tables temporaires MySQL au sein d'une page PHP?

    Je viens d'aller voir :

    You can use the TEMPORARY keyword when creating a table. A TEMPORARY table is visible only to the current connection, and is dropped automatically when the connection is closed.
    Donc ça doit pas venir de là... Etrange, peut être un problème du code, c'est quoi l'erreur que tu as quand tu dis que ça bloque? Erreur de PHP, de MySQL, autre chose?
    Linio

  5. #5
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Citation Envoyé par Linio Voir le message
    Tu connais la durée de vie des tables temporaires MySQL au sein d'une page PHP?
    NON

    Voici le code ma page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    require('connect.php');
    require('temp/table_action.php');
     
    $sql="SELECT * FROM view_action";
    $result=mysql_query($sql);
     
    while($row = mysql_fetch_array($result))
    {echo $row['NUM_ACTION']."<br>";}
    ?>
    "table_action.php" Contient la création et les données de la table temporaire, mais je le mette ou pas le code dans le fichier j'ai la même chose...
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  6. #6
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    J'ai édité mon poste précédent, je remets ici:

    Tu as quoi comme erreur en fait (vu que ça vient probablement pas de tes tables temporaires). Le fichier là a l'air bon, ça vient peut être des fichiers inclus?
    Linio

  7. #7
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Voici le message que j'ai :

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in W:\var\www\voir1.php on line 9
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 59
    Points : 47
    Points
    47
    Par défaut
    Essaie de supprimer le mot clé TEMPORARY dans la création de table et de faire un DROP TABLE une fois que tout est exécuté pour voir si ça fonctionne.

    Si c'est le cas, tu créées et supprimes toi-même ta table temporaire.

  9. #9
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    J'ai fait comme tu me l'as dit, et la création de la requête ne fonctionne pas dans une page PHP, alors qu'elle fonctionne correctement dans PHPMyAdmin, le code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?
    $sql = "CREATE TABLE view_action (ID_ACTION decimal(10,0) NOT NULL Default '0', ...  PRIMARY KEY  (ID_ACTION))
     
    INSERT INTO view_action SELECT ...;"
     
    mysql_query($sql);
    Le problème viendrait de la seconde partie : l'insertion des données. Je saisis le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO view_action SELECT TABLE.ID_ACTION ,...;
    Est-que je fais comme il faut ?
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  10. #10
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    J'ai fini par trouver la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql = "CREATE TEMPORARY TABLE view_action (ID_ACTION decimal(10,0) NOT NULL default '0', ..., PRIMARY KEY  (ID_ACTION));
     
    INSERT INTO view_action (ID_ACTION, ...) 
    (SELECT TABLE.ID_ACTION ,..);";
     
    mysql_query($sql);
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Problème avec Table de plus de 1000 enregistrements.
    Par rubilacxe dans le forum Modélisation
    Réponses: 7
    Dernier message: 20/06/2009, 23h47
  2. [Lazarus] [0.9.27/Win32] Problème avec tables paradox
    Par dnode57 dans le forum Lazarus
    Réponses: 2
    Dernier message: 10/10/2008, 16h32
  3. Problème avec tablespace temporaire
    Par nounou21 dans le forum Administration
    Réponses: 3
    Dernier message: 26/06/2008, 13h14
  4. [SQL-SERVER 2005]Procédure stockée avec table temporaire
    Par mathieu44800 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 03/08/2007, 14h18
  5. Requete avec table temporaire
    Par Piolet dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/08/2006, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo