july171292 | Bonjour,
Depuis plusieurs jours je suis bloquée .
Voici mon php :
// Connexion à la base de données
Code :
- $DB = new DB;
- $req = "ut_DocSupprim $iIdDoc"; // Procédure stockée avec passage d'une variable
- $DB->query($req); // Execution procédure
|
L'execution se passe bien, je rentre bien dans la procédure, la variable est bien récupérer.
Cependant je voudrait récupérer le retour que me renvois cette procédure stockée via php pour pouvoir l'afficher.
Comment faire ? Existe t-il une fonction spécifique ?
Help me Je précise que ce n'est pas moi qui ai écrit le code ^^
EDIT: ma procédure SQL
Code :
- USE [maBASE]
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- ALTER Procedure [dbo].[ut_DocSupprim]
- (
- @IdDoc int = null
- )
- As
- /* set nocount on */
- declare @nb int,
- @IdVer int,
- @Titre varchar(100),
- @Rev smallint,
- @Sql varchar (255)
- SELECT @nb= count(*)
- FROM Documents
- WHERE (IdDoc = @IdDoc)
- if @nb=0
- begin
- return 'Document inexistant'
- end
- SELECT @Titre=DocTitre
- FROM Documents
- WHERE (IdDoc = @IdDoc)
- SELECT @nb= count(*)
- FROM Menu
- WHERE (IdDoc = @IdDoc)
- if @nb>0
- begin
- return 'Suppression impossible, le document '''+@Titre+''' est lié à un menu'
- end
- --suppression de la dernière version du document
- SELECT top 1 @IdVer=IdVer
- FROM DocVersions
- WHERE (IdDoc = @IdDoc)
- ORDER BY DocRev DESC
- set @Sql = 'DELETE FROM Form_Cases WHERE IdVer = ' + convert(varchar(10),@Idver)
- --execute (@Sql)
- set @Sql = 'DELETE FROM DocVersions WHERE IdVer = ' + convert(varchar(10),@Idver)
- --execute (@Sql)
- SELECT @nb= count(*)
- FROM DocVersions
- WHERE (IdDoc = @IdDoc)
- if @nb=0
- -- suppression du document s'il ne reste plus aucune version
- begin
- --si le doc est réservé à des groupes, il faut supprimer les réservations
- SELECT @nb= count(*)
- FROM BS_GROUPE_DOCUMENT
- WHERE (IdDoc = @IdDoc)
- if @nb>0
- begin
- set @Sql = 'DELETE FROM BS_GROUPE_DOCUMENT WHERE IdDoc = ' + convert(varchar(10),@IdDoc)
- --execute (@Sql)
- end
- --suppression du document
- set @Sql = 'DELETE FROM Documents WHERE IdDoc = ' + convert(varchar(10),@IdDoc)
- --execute (@Sql)
- return 'Document '''+@Titre+''' supprimé.'
- end
- else
- -- s'il reste encore une version, mise à jour de la table document
- begin
- SELECT top 1 @Rev=DocRev
- FROM DocVersions
- WHERE (IdDoc = @IdDoc)
- ORDER BY DocRev DESC
- UPDATE Documents set DocRev=@Rev, Valid_Date=NULL, Valid_Id=NULL
- FROM Documents
- WHERE(IdDoc = @IdDoc)
- end
- return 'Dernière version du document '''+@Titre+''' supprimée.'
|
|