Hi everyone
I have some problem with stored procedure.
I work on trustix web server ( LAMP ), and my database run on MsSql Server
2005.
I try to lauch my stored procedure from PHP like this :
[code]
$tableau=array();
// connexion à la base mssql => $connexion_base = identifiant de lien MS
SQL
$connexion_base=mssql_connect($sql_serveur,$sql_user,$sql_passwd)
or die ("impossible de se connecter à SQL Server sur $sql_serveur");
mssql_select_db ($sql_table,$connexion_base)
or die("erreur de connection à la base de données $bdd");
// Initilisation de la procédure stockée.
// mssql_init("nom de la procedure stockée sans le dbo", lien issu du
mssql_connect)
$req_preview=mssql_init("Select_TACHE",$connexion_base)or die ("erreur
initialisation de la procédure") ;
// Initilisation des variables.
mssql_bind($req_preview,"@id_TYPE_BON",$type_bon,SQLINT1) or die ("erreur
initialisation de variable") ;
$result=mssql_execute($req_preview);
[/code]
I would like to know if my code is correct.
Then with this code I've got this error message :
"Warning:mssql_execute()[function.mssql-execute]:stored procedure
execution failed.
This is my stored procedure in Mssql Server 2005 :
[code]
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:<>
-- Create date: <21/08/2008>
-- Description:<>
-- =============================================
ALTER PROCEDURE [dbo].[Select_TACHE]
-- Add the parameters for the stored procedure here
@id_TYPE_BON int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT lettre, intitule, tache_type
FROM DEV_TACHE
WHERE id_TACHE IN
(SELECT id_TACHE
FROM DEV_REL_BON_TACHE
WHERE [EMAIL PROTECTED])
END
[/code]
I tested with standard query like :
[code]
$tableau=array();
// connexion à la base mssql => $connexion_base = identifiant de lien MS
SQL
$connexion_base=mssql_connect($sql_serveur,$sql_user,$sql_passwd)
or die ("impossible de se connecter à SQL Server sur $sql_serveur");
mssql_select_db ($sql_table,$connexion_base)
or die("erreur de connection à la base de données $bdd");
$result = mssql_query("
SELECT lettre, intitule, tache_type
FROM DEV_TACHE
WHERE id_TACHE IN
(SELECT id_TACHE
FROM DEV_REL_BON_TACHE
WHERE
DEV_REL_BON_TACHE.id_TYPE_BON=$type_bon) ",
$connexion_base)
or die (mssql_error());
while($val=mssql_fetch_array($result,MSSQL_ASSOC))
{
$tableau[]=$val;
}
[/code]
And I have no problem with standard query
I expect some help. You can ask me more precision.
Thank you
If you are not the intended addressee, please inform us immediately that you
have received this e-mail in error, and delete it. We thank you for your
cooperation.