PDO et procédure stockée SQL Server - PHP - Programmation
MarshPosté le 07-11-2014 à 11:30:10
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.'
Marsh Posté le 07-11-2014 à 11:30:10
Bonjour,
Depuis plusieurs jours je suis bloquée .
Voici mon php :
// Connexion à la base de données
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