Ciao a tutti sto cercando di far esegire una stored procedure ad una pagina php.
questo e' quello che ho fatto:
codice:
$query2 = "{call INVIO_TAG( ?, ?, ? )}";
$utente='xxxxx';
$TAG='%2xxxxxxxxxxxxxx';
$msg='CCI2A';
$params = array(
array($utente,SQLSRV_PARAM_IN),
array($TAG, SQLSRV_PARAM_IN),
array($msg, SQLSRV_PARAM_IN)
);
$result2 = sqlsrv_query($dbhandle, $query2,$params);
if ($result2 === false ) {
die( print_r( sqlsrv_errors(), true));
}
while ($item=sqlsrv_fetch_object($result2)) {
echo $item->url;
}
la stored procedure funziona perche viene inviato un messaggio di conferma e il messagio lo ricevo pero' invece di visualizzare echo $item->url; mi visualizza il die( print_r( sqlsrv_errors(), true));
la stored procedure e' questa:
codice:
ALTER PROCEDURE [dbo].[INVIO_TAG]
-- Add the parameters for the stored procedure here
@utente varchar (20),
@TAGvarchar(20),
@msg varchar(500)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
Declare @ResponseText2 as Varchar(8000);
Declare @url varchar(500);
-
set @url = N'http://WWW.AAAA.COM' + @utente + '&pass=ZZZZZ&DEF=' + @TAG+ '&data=' + @msg + '&sender=XCVGGBB'
Exec sp_OACreate 'MSXML2.ServerXMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get',@url,'false'
Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'status', @ResponseText2 OUTPUT
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
print @url
print @ResponseText2
print @ResponseText
Select @ResponseText AS STATUS,@ResponseText2 AS TAGCOD ,@url as TAG
Exec sp_OADestroy @Object
END
Questo è quell oche mi restitutisce la pagina php:
Array ( [0] => Array ( [0] => 01000 [SQLSTATE] => 01000 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]'http://WWW.AAAA.COM?utente=xxxxxx&pass=ZZZZZ&DEF=TAG&data =msg &sender=XCVGGBB'
[message] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]'http://WWW.AAAA.COM?utente=xxxxxx&pass=ZZZZZ&DEF=TAG&data =msg &sender=XCVGGBB') [1] => Array ( [0] => 01000 [SQLSTATE] => 01000 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]200 [message] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]200 ) [2] => Array ( [0] => 01000 [SQLSTATE] => 01000 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]OK [message] => [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]OK ) )
Spero che mi possiate aiutare
Grazie