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 résultat requete


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 111
    Points : 59
    Points
    59
    Par défaut Problème résultat requete
    Bonjour,

    Ne trouvant pas grand chose à ce sujet sur le net, je viens ici, en espérant que l'on pourra m'aider.

    En fet, j'effectue toutes une suite de requete création, insertion, d'update vers ma base de données SQL Serveur. J'aimerais suivre les erreurs pour faire une transaction (annuler ou valider toutes les requete en cas d'erreur sur une seule)

    Cela pareil simple a vu d'oeil et pourtant, je n'y arrive pas, impossilble par le code de savoir si ma requete a marché ou a planté.

    Voici un exemple de ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    req = "CREATE TABLE ARRETS_DETERMINES_SYNTHESE (FICHIER_IMP varchar(25), DATE_IMP datetime, N_FICHE varchar(50) NULL)";
    if (mssql_query($req)) {
    	print  "Erreur n°03 - Erreur lors de la création de la table ARRETS_DETERMINES_SYNTHESE<br/>";
    }else{
    	print "Création de la table ARRETS_DETERMINES_SYNTHESE.<br/>";
    }
    Tout va bien cela m'affiche a l'écran Création

    Mais si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    req = "CREATEHHHHHHHHHHH TABLE ARRETS_DETERMINES_SYNTHESE (FICHIER_IMP varchar(25), DATE_IMP datetime, N_FICHE varchar(50) NULL)";
    if (mssql_query($req)) {
    	print  "Erreur n°03 - Erreur lors de la création de la table ARRETS_DETERMINES_SYNTHESE<br/>";
    }else{
    	print "Création de la table ARRETS_DETERMINES_SYNTHESE.<br/>";
    }
    Cela me met un gros Warning sur la fenetre mais cela m'affiche qd meme Création.

    J'ai essayé de faire un print de mssql_query($req). Mais cela ne me renvoye aucun résultat.
    Pourtant sur le manuel de php il dise renvoye true ou false, mé bon....

    Je dois faire une gourde quelque part... Comment faire??? merci d'avance.
    Silvia

  2. #2
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Salut,

    et que dit le Warning?

  3. #3
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Il est ou le $ devant req ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 111
    Points : 59
    Points
    59
    Par défaut
    Il est ou le $ devant req ?
    le $ c'est juste un oublie dans mon copier coller... Il y est dans mon code et dans la 1er partie, ta table se créer !!!

    Salut,

    et que dit le Warning?
    J'ai deux Warning si dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Warning: mssql_query(): message: Ligne 1 : syntaxe incorrecte vers 'ARRETS_DETERMINES_SYNTHESE'. (severity 15) in c:\program files\easyphp1-8\www\techmay\imp_creationtable.php on line 129
     
    Warning: mssql_query(): Query failed in c:\program files\easyphp1-8\www\techmay\imp_creationtable.php on line 129
    Création de la table ARRETS_DETERMINES_SYNTHESE.
    Je comprens pas vraiment

  5. #5
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (mssql_query($req)) {//te renvoie le résultat de ta requête si elle fonctionne
    	print  "Erreur n°03 - Erreur lors de la création de la table ARRETS_DETERMINES_SYNTHESE<br/>";
    }else{//sinon, ici tu gères l'erreur
    	print "Création de la table ARRETS_DETERMINES_SYNTHESE.<br/>";
    }
    Les commentaires ajoutés te disent quelque chose?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 111
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par defcon_suny Voir le message
    if (mssql_query($req)) {//te renvoie le résultat de ta requête si elle fonctionne
    print "Erreur n°03 - Erreur lors de la création de la table ARRETS_DETERMINES_SYNTHESE<br/>";
    }else{//sinon, ici tu gères l'erreur
    print "Création de la table ARRETS_DETERMINES_SYNTHESE.<br/>";
    }

    Les commentaires ajoutés te disent quelque chose?
    Oui, désolée, j'ai pas remit dans la bon sens... car j'ai fais 150 test avant de poster sur le forum.
    Le souci dans ce sens, qui est le meme que dans l'autre c'est que lorsque la table se créer, cela m'affiche a l'écran
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur n°03 - Erreur lors de la création de la table ARRETS_DETERMINES_SYNTHESE du fichier
    Pourtant cela me créer bien la table sous SQL Serveur.

  7. #7
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Alors je me base sur le code que tu donnes, si ce n'est pas celui de ton source met le à jour dans ton prochain post.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (mssql_query($req)) {//te renvoie le résultat de ta requête si elle fonctionne
    print "Erreur n°03 - Erreur lors de la création de la table ARRETS_DETERMINES_SYNTHESE<br/>";
    }else{//sinon, ici tu gères l'erreur
    print "Création de la table ARRETS_DETERMINES_SYNTHESE.<br/>";
    }
    Si ta requête est correct :
    la table est créée, ta condition if est respectée et tu demandes d'afficher "Erreur n°03 - Erreur lors de la création de la table ARRETS_DETERMINES_SYNTHESE<br/>"
    CE N'EST PAS LOGIQUE...
    Si ta requête est incorrect:
    Elle entraîne une erreur SQL d'où un WARNING. Ta condition IF n'est pas respectée et donc on affiche le contenu du ELSE.

    Ca va mieux?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 111
    Points : 59
    Points
    59
    Par défaut
    Bonjour,
    Non, on s'est mal compris, je recommance :

    Bonjour,

    Ne trouvant pas grand chose à ce sujet sur le net, je viens ici, en espérant que l'on pourra m'aider.

    En fet, j'effectue toutes une suite de requete création, insertion, d'update vers ma base de données SQL Serveur. J'aimerais suivre les erreurs pour faire une transaction (annuler ou valider toutes les requete en cas d'erreur sur une seule)

    Cela pareil simple a vu d'oeil et pourtant, je n'y arrive pas, impossilble par le code de savoir si ma requete a marché ou a planté.

    Voici un exemple de ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $req = "CREATE TABLE ARRETS_DETERMINES_SYNTHESE (FICHIER_IMP varchar(25), DATE_IMP datetime, N_FICHE varchar(50) NULL)";
    if (mssql_query($req)) {
    	print "Création de la table ARRETS_DETERMINES_SYNTHESE.<br/>";
    }else{
    	print  "Erreur n°03 - Erreur lors de la création de la table ARRETS_DETERMINES_SYNTHESE<br/>";
    }
    Cela m'affiche Erreur 03 alors que la table se créer bien sous SQL Serveur.
    Moi, j'aimerais que cela m'affiche création table dans le si (c'est sensé faire ca d'ailleur....)

    Et si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $req = "CREATEHHHHHHHHHHH TABLE ARRETS_DETERMINES_SYNTHESE (FICHIER_IMP varchar(25), DATE_IMP datetime, N_FICHE varchar(50) NULL)";
    if (mssql_query($req)) {
    	print "Création de la table ARRETS_DETERMINES_SYNTHESE.<br/>";
    }else{
    	print  "Erreur n°03 - Erreur lors de la création de la table ARRETS_DETERMINES_SYNTHESE<br/>";
     
    }
    Ca marche bien, cela me met deux warning et affiche erreur a l'écran

    J'ai essayé de faire un print de mssql_query($req). Mais cela ne me renvoye aucun résultat.
    Pourtant sur le manuel de php il dise renvoye true ou false, mé bon....

    J'ai l'impression que quoi que je fasse ca va dans mon else et jamais dans le if.
    Silvia

  9. #9
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Il peut s'agir d'un bog.

    Sur quelle plateforme es tu? quels sont les versions de PHP et SQL Server?

    Regarde ici

    Tiens moi au courant.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 111
    Points : 59
    Points
    59
    Par défaut
    Salut,
    Alors, je vais essayé de te donner mes version...

    Je n'ai pas tout tout compris au tableau des bug... mais bon...
    Alors,

    PHP : j'utilise EsayPHP et c'est la version 1.8.0.0

    SQL SERVEUR : Lorsque je fais @@VERSION (J'ai donc le SQL SERVEUR Service Pack 4 ) :

    Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 2)

  11. #11
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    quand tu fais un php_info() t'as quelle version de php.

    Je crois qu'il peut s'agir effectivement d'un bug.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 111
    Points : 59
    Points
    59
    Par défaut
    Heu.... je sais pas, j'ai créer un nouveau fichier et j'y est juste mit dedans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php php_info(); ?>
    Et il m'écrit :
    Fatal error: Call to undefined function: php_info() in c:\program files\easyphp1-8\www\techmay\version.php on line 1

    Comprend pas ....

    Je viens d'ouvrir le fichier php.ini de EasyPHP, mais pas trouvé dedans la version...

    J'ai vu écris ca... mais pas sur que cela corresponde a ma version....
    ; Note - track_vars is ALWAYS enabled as of PHP 4.0.3

  13. #13
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    phpinfo();

    Il se pourrait que ta version soit devenue un peu légère.
    T'es t'il possible de passer à une version supérieure?
    genre wamp?

Discussions similaires

  1. problème de résultat requete sql
    Par totot dans le forum Requêtes
    Réponses: 5
    Dernier message: 02/09/2013, 23h37
  2. [PEAR][HTML_QuickForm] Résultat d'une requête dans liste déroulante
    Par Lotharzco dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/04/2008, 08h45
  3. Problème de Requete...
    Par sebiv dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/04/2004, 16h21
  4. Problème de requete avec Innodb
    Par silef dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2004, 12h54
  5. Problème de requete multis-selections
    Par tripper.dim dans le forum SQL
    Réponses: 9
    Dernier message: 03/09/2003, 13h08

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