Procédure Stocké & PHP - PHP - Programmation
Marsh Posté le 06-05-2014 à 16:35:05
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 ";"...
Marsh Posté le 06-05-2014 à 16:36:27
http://fr.openclassrooms.com/infor [...] -procedure
-> Pour le "|", t'as pas pensé avant à mettre "DELIMITER |"...
Marsh Posté le 06-05-2014 à 23:10:14
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
Marsh Posté le 07-05-2014 à 09:49:21
!
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
Marsh Posté le 07-05-2014 à 09:52:53
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.
Marsh Posté le 07-05-2014 à 21:24:57
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
Marsh Posté le 06-05-2014 à 15:26:07
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 :
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...