Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1747 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Procédure Stocké & PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Procédure Stocké & PHP

n°2227321
OrcusZ
Pro AMD | .Net lover
Posté le 06-05-2014 à 15:26:07  profilanswer
 

Bonjour,

 

Dans la suite du développement d'un projet web je vais avoir besoin des procédures stockés. J'ai commencé à regarder leur fonctionnement et utilisation le problème c'est que je n'arrive pas à les créés et utilisé via PHP...

 

Voici le code que j'utilise pour m’entraîner, le je veux simplement récupérer toutes les variables de la table ProcStocker  :

 
Code :
  1. $sql = "CREATE PROCEDURE test2 (OUT value INT)
  2. BEGIN
  3. SELECT Var FROM ProcStocker;
  4. END|";
  5. $reponse = $connexion->prepare($sql);
  6. $reponse->execute();
 

J'ai aucun message d'erreur mais la procedure ne se créé pas alors que si je met le sql sous PhpMyAdmin la procédure ce créé


Message édité par OrcusZ le 06-05-2014 à 15:50:38

---------------
Made you your own sentence without believing that of the others...
mood
Publicité
Posté le 06-05-2014 à 15:26:07  profilanswer
 

n°2227344
rufo
Pas me confondre avec Lycos!
Posté le 06-05-2014 à 16:35:05  profilanswer
 

Est-ce qu'il ne faut pas que tu fasses un commit explicite ? Si t'es en transactionnel (avec un BD en InnoDB par ex), y'a pas forcément par défaut d'auto-commit ;)
 
Sinon,  c'est normal le "|" après le "END" ? J'aurais plutôt penser qu'il fallait un ";"...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2227346
rufo
Pas me confondre avec Lycos!
Posté le 06-05-2014 à 16:36:27  profilanswer
 

http://fr.openclassrooms.com/infor [...] -procedure
 
-> Pour le "|", t'as pas pensé avant à mettre "DELIMITER |"...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2227404
OrcusZ
Pro AMD | .Net lover
Posté le 06-05-2014 à 23:10:14  profilanswer
 

Bonsoir,
 
Juste une petite erreur j'ai oubliez de mettre le délimiter mais ça ne fonctionne pas non plus avec...
 
Tu entend quoi par un commit explicite / auto-commit?
Parce que j'en ai jamais entendu parler en SQL


---------------
Made you your own sentence without believing that of the others...
n°2227428
Soileh
Lurkeur professionnel
Posté le 07-05-2014 à 09:49:21  profilanswer
 

:hello: !

 

Tu es sûr que tu n'as aucun message d'erreur en retour ? :??:

 

Je pensais aussi à un souci de droit de création de procédure mais ça doit pas être ça [:cupra]


Message édité par Soileh le 07-05-2014 à 09:50:06

---------------
And in the end, the love you take is equal to the love you make
n°2227430
rufo
Pas me confondre avec Lycos!
Posté le 07-05-2014 à 09:52:53  profilanswer
 

En BD transactionnelle, tu as ce qu'on appelle les commit et roll back. Quand tu commences une transaction (une ou plusieurs requêtes sql de type insert, delete, update ou select...), tant que t'as pas fait un commit, toutes les modifs que t'as faites ne sont pas visibles des autres utilisateurs et pas sauvegardées dans la BD. Elles sont enregistrées après un commit. L'avantage, c'est qu'en cas d'abandon de la transaction (genre, une erreur est détectée en cours), tu fais un roll back et tu retrouve l'état de la BD avant le début de la transaction.
 
En général, les BD sont en auto-commit, c'est-à-dire que le SGBD fait un commit de lui-même pour valider chaque requête sql faite par une appli. Mais c'est pas systématique. Donc, si t'es en innoDB comme moteur de stockage 'et pas en MyIsam), regardes dans la conf de mysql si t'es bien en auto-commit ou pas.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2227530
OrcusZ
Pro AMD | .Net lover
Posté le 07-05-2014 à 21:24:57  profilanswer
 

Bonsoir,
 
Merci de vos réponse et les explications.
 
Non malheureusement absolument pas de message d'erreurs et je suis en InnoDB donc je vais checker les conf mysql


---------------
Made you your own sentence without believing that of the others...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Procédure Stocké & PHP

 

Sujets relatifs
Problème PHP/SQLProbleme UPDATE dans PHP
Passage de paramètre entre procédure stockée et script PhpPHP + SQL + Jpgraph = j'y arrive pas
Aide formulaire d'inscription PHP page blancheLISTE DEROULANTE PHP MYSQL
PHP et UTF-8 
Plus de sujets relatifs à : Procédure Stocké & PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR