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

Symfony PHP Discussion :

Comment exécuter une requête SQL directement ? [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    ldv
    ldv est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut Comment exécuter une requête SQL directement ?
    Bonjour,

    Je dois exécuter une requête d'optimisation de la base de données.

    J'ai développé une commande que je teste par app/console <nom de la commande>.

    Or, comment faire pour exécuter une simple requête SQL (donc sans passer par les répositories ou autres) ?

    Merci.

  2. #2
    ldv
    ldv est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut
    J'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $em = $this->getContainer()->get('doctrine.orm.entity_manager');
     
    // Optimization query with all tables for the database
    $query = "OPTIMIZE TABLE ... ";
     
    $result = $em->createQuery($query)->execute();
     
    $em->flush();

    Mais cette requête ne s'exécute pas.
    L'ordre SQL est correct.

    Comment exécuter cette requête ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2010
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 144
    Par défaut
    Comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $con = Doctrine_Manager::getInstance()->connection();
    $con->execute("REQUETE_SQL");

  4. #4
    ldv
    ldv est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut
    Cela ne fonctionne pas.

    La méthode "execute" n'est pas définie.

  5. #5
    ldv
    ldv est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut
    Ayez, cela fonctionne.

    Explications.

    On est allé chercher le service de connection.

    Pour trouver ce service, on est allé dans les containers, partie services.
    On accède à :
    "Container Services:"
    à partir de la barre de debug située en bas de l'écran lorsque l'on est en développement.

    Ensuite, on met ce code dans le programme :
    "
    // Add this service to connect to database
    // Le plus souvent, il faut mettre ce service mais attention, le nom peut être différent. Donc bien prendre le nom du service que vous voyez à l'écran.
    $conn = $this->getContainer()->get('doctrine.dbal.default_connection');

    // Query ...
    $query = "...";

    $result = $conn->executeQuery($query);
    "

    voili, voilà.

    En espérant avoir aidé

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

Discussions similaires

  1. [MySQL] Comment exécuter une requête SQL au seins d'une fonction?
    Par tryan dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 15/03/2013, 14h49
  2. [WD14] comment exécuter une requête SQL
    Par samoel24 dans le forum WinDev
    Réponses: 15
    Dernier message: 28/09/2011, 13h54
  3. Comment exécuter une requête sql UPDATE en C#?
    Par hazem2410 dans le forum C#
    Réponses: 10
    Dernier message: 23/12/2010, 08h17
  4. [ADO.Net][C#/Mysql] Comment exécuter une requête paramétrée?
    Par wremacle dans le forum Accès aux données
    Réponses: 6
    Dernier message: 07/02/2006, 16h55
  5. Comment exécuter une requête rapidement
    Par kardevlop dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/10/2005, 13h45

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