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 :

Script SQL et PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut Script SQL et PHP
    Bonjour, je voudrais appeler un script .sql à base de requête d'insertion depuis une page .php. Je voudrais savoir s'il est possible de dire si l’exécution du script entier est OK dans un fichier .log ?... Ou bien je devrai taper les requêtes une par une et écrire le déroulement dans un fichier.log au fur et à mesure ?
    Merci;

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Je ne vois pas vraiment à quoi ça avancerait de savoir que tel ou tel script (ou requête) c'est bien déroulé.

    Dans la majorité des cas on fait plutôt l'inverse, c'est à dire qu'on n'y met essentiellement des messages d'erreurs dans des fichiers de log afin de les consulter pour les réparer ensuite.
    Là c'est vraiment utile, voire essentiel.


    Donc à mon sens il serait mieux de rajouter toutes sortes de vérifications, quitte à déclencher des erreurs volontairement qui après coup seront enregistrés dans le log d'erreur de Php.
    Cela s'appel de la gestion des erreurs.
    -> try/catch, thow new Exception, trigger_error, etc ...


    Ou alors du coté de MySQL, si cela concerne essentiellement de requêtes SQL, les transactions (COMMIT/ROLLBACK).

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Oui c'est du MySQL, j'envoie des données d'une BDD vers une autre depuis le script .sql, je suis obligé de lancer les requêtes une par une pour voir si les requêtes passent ou non ? (si non je renseigne un fichier log)
    L'idéal serait dans un 1er temps de lancer le script .sql et de voir si l'execution renvoie une erreur ou non (en batch c'est possible ...) ?

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    je suis obligé de lancer les requêtes une par une pour voir si les requêtes passent ou non ? (si non je renseigne un fichier log)
    Tu peux faire ce que tu veux.

    Mais on ne sait pas de quoi il s'agit, du coup on ne peu pas te répondre avec certitude.

    Si par exemple il y a 2 requêtes d'insertions, et que les 2 tables sont liées entre elles (clé primaire, clé secondaire), dans tel cas il est préférable que les 2 se fasses sans aucune erreur.
    Cela sous-entend que si une erreur venait à arrivée, il vaudrait mieux annuler cet ensemble de requêtes pour se retrouver exactement dans la même situation que si rien avait été fait.

    Si on ne fait pas ça, la Bdd sera corrompue, et c'est bug garanti lorsqu'on exploitera ces données là.

    Dans tel cas il est bon d'exploiter les transactions (commit/rollback).


    Vois tu, ce n'est pas aussi simple vu qu'on ne sait pas de quoi il s'agit.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Au fait c'est un outil pour centraliser des BDD.
    Oui ca serait pas mal de pouvoir gérer le fait que si une table n'est pas entré on supprime les entrées précédentes ... Avez vous une piste pour commencer cela ?
    Merci!

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    J'ai pensé à utiliser ce bout de code pour gérer les erreurs, si une erreur intervient toutes les données entrés précédemment ne seront pas sauvegardés dans la BDD ? Si par exemple l'erreur intervient à l'écriture dans la 10 éme table ça sa passe comment ?
    Je voudrai aussi qu'en cas d'erreur je quitte le programme et j'entre un message dans un fichier .log.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(!$result)
    {
    rollback(); // transaction rolls back
    echo "transaction rolled back";
    exit;
    }
    else
    {
    commit(); // transaction is committed
    echo "Database transaction was successful";
    }
    ps: j'ai crée des fonctions rollback et commit ...
    Je voudrai aussi de l'aide quant à l'écriture de la requête suivante (je me connecte à une BDD avant ...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $insertion = "INSERT INTO table (champs_id,champs_2, champs_3, champs_4,champs_5,champs_6)
    SELECT bdd2.champs_id, bdd2.champs_2, bdd2.champs_3, bdd.champs_4, bdd2.champs_5, '$reference'
    FROM bdd2.table"
    MERCI !

Discussions similaires

  1. [Oracle] Exécuter un script sql (pl/sql) dans un fichier PHP
    Par elodiejoly dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/10/2014, 11h04
  2. [SQL] Executer un script SQL depuis php
    Par sly3333 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 07/12/2007, 01h33
  3. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 13h57
  4. create user, affectation droits et scripts sql
    Par hirochirak dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/02/2004, 10h21
  5. script SQL : affectation de variables
    Par Laura dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/10/2003, 21h32

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