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
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    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 �prouv�
    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
    Par d�faut
    C'est quoi ton logiciel? Enfin c'est un logiciel en ligne ou pas?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    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 �prouv�
    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
    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
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    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 �prouv�
    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
    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 : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    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 �clair� 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
    Par d�faut
    fichier d'exemple : install.php

  9. #9
    Invit� de passage
    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
    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