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 :

[SQL] Executer un script SQL depuis php


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    Points : 36
    Points
    36
    Par défaut [SQL] Executer un script SQL depuis php
    Bonjour

    Est il possible d'executer un script SQL depuis php ?

    En fait j'ai réalisé un logiciel et je souhaite faire une procédure d'installation à travers une page Web.

    A un moment l'utilisateur est invité à cliquer sur un lien pour lancer un script qui va générer la structure de la base ( enfin j'aimerai que ça fasse ca).

    le problème est que je n'arrive pas à trouver comment lancer un script contenant des instructions SQL ( SGBD -> MySQL) depuis php

    De plus mysql_query refuse de lacer plusieures instructions SQL à la suite.

    Quelqu'un peut il m'aider ?

  2. #2
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    C'est quoi ton logiciel? Enfin c'est un logiciel en ligne ou pas?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    en fait c un logiciel en php.

    je veut juste réaliser l'installation automatisé en php donc ca passe par le lancement du script de creation de la base et des tables et donc je voudrai le faire directement par une ligne de code qui lance mon script
    du style

    mysql_lance_script("monscript.sql");

    seulement je ne trouve pas une telle commande

  4. #4
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Bein tu créé un fichier install.php et tu fais un formulaire ou tu demandes les données d'accès à la base du visiteur. Ensuite tu créés des requêtes pour créer tes tables.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    oui mais justement le script PHP est susceptible de changer souvent alors j'ai pas envie de taper plein de mysql_query("....") si je dois les changer tout le temp

    ca doit bien exister ce que je cherche mais je ne trouve pas

  6. #6
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Je crois que c'est la seule solution mais une fois que tu as un fichier modèle ce n'est pas compliqué de changer les requêtes. Sinon attend d'autres avis.

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Comment fait alors phpMyAdmin ?
    Je me pose actuellement la même question, à savoir comment exécuter un script SQL entier. Sous phpMyAdmin il me suffit de copier/coller le script dans la fenêtre SQL et hop tout fonctionne bien.

    La solution est peut être de découper le script SQL en instructions SQL (elles sont séparées par des ;) et de faire un mysql_query là dessus.

    Ce doit être ce que fait phpMyAdmin car si on a une erreur dans une requête du script il n'affiche que celle-ci et non l'ensemble du script.

    A essayer !

  8. #8
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    fichier d'exemple : install.php

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 1
    Points : 8
    Points
    8
    Par défaut La solution...
    J'ai moi aussi cherché un script de ce type, puis, ne trouvant pas... je l'ai donc écrit ;-)

    Voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?
    include "_inc.php"; // on charge les paramètres bdd
     
    $bdd = mysql_connect(BDD_HOST,BDD_LOGIN,BDD_PASS);
    mysql_select_db(BDD_NAME,$bdd);
     
     
    $requetes="";
     
    $sql=file("fichier.sql"); // on charge le fichier SQL
    foreach($sql as $l){ // on le lit
    	if (substr(trim($l),0,2)!="--"){ // suppression des commentaires
    		$requetes .= $l;
    	}
    }
     
    $reqs = split(";",$requetes);// on sépare les requêtes
    foreach($reqs as $req){	// et on les éxécute
    	if (!mysql_query($req,$bdd) && trim($req)!=""){
    		die("ERROR : ".$req); // stop si erreur 
    	}
    }
    echo "base restaurée";
    ?>

Discussions similaires

  1. script SQL dans un script SQL
    Par baime dans le forum Développement
    Réponses: 0
    Dernier message: 27/02/2014, 15h52
  2. [MySQL] Utiliser la fonction sql EXECUTE dans script PHP
    Par boozook dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 07/12/2012, 22h43
  3. Executer un script SQl depuis VB
    Par Sytchev3 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/03/2007, 20h06
  4. [Interbase & D7] executer un script SQL
    Par EGI dans le forum Bases de données
    Réponses: 7
    Dernier message: 13/03/2005, 12h42
  5. [DEBUTANT]Comment executer un script sql
    Par peaceinpal dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/03/2004, 08h44

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