Witam.
Walczę od kilku godzin z pewną procedurą skladowaną MS SQL
Ma za zadanie w przypadku update'u tabeli_1 stworzyć kopie rekordu + guid+ date w tabela_2
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE Update_history
-- Add the parameters for the stored procedure here
@Nr_ma int,
@C_1 nchar(10) ,
.
.
@C_26 nchar(160),
@Guid int,
@Date datetime
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
UPDATE [baza].[dbo].[TABLE]
SET [C_1] = @C_1
,[C_2] = @C_2
.
.
.
,[C_26] = @C_26
WHERE [Nr_ma]= @Nr_ma
INSERT INTO [baza].[dbo].[history]
SELECT * , @Guid ,@Date
FROM [baza].[dbo].[TABLE]
WHERE [Nr_ma]= @Nr_ma
END
GO
Oraz kod PHP, którym staram sie wywołać procedurę:
<?php
$login=$_SERVER['AUTH_USER']; //pobranie loginu zalogowanego uzytkownika
$dane = get_user_data_from_login(podane parametry);
$guid = $dane["guid"]; //pobranie guidu zalogowanego uzyutkownika
$serverdb = 'XXX';
$link = sqlsrv_connect($serverdb, $dane);
if (!$link) {
print "Nie udalo sie polaczyc z serwerem: ".sqlsrv_errors
()."\n"; }
//Pobranie ID zalogowanego użytkownika
else {
$person_ID = "SELECT [ID]
FROM [baza].[dbo].[users]
WHERE [guid] = '$guid'";
}
$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET
); $rekord = sqlsrv_query($link, $person_ID, $params, $options);
$rekord1 = sqlsrv_fetch_array($rekord); //przypisanie wartości do zmiennej
$permission = $rekord1[0];
$Nr_machine = $_GET[id];
$C_1 = ($_POST[C_1]);
.
.
.
$C_26 = ($_POST[C_26]);
$Guid = $permission;
$Date = date('Y-m-d G:i:s');
$sql = ('Update_history');
$params = array (&$Nr_machine, &$C_1 , &$C_26, &$Guid, &$Date);
$stmt = sqlsrv_prepare( $link, $sql, $params);
if( !$stmt ) {
}
// Execute
sqlsrv_execute($stmt);
?>
Ma ktoś jakiś pomysł co robię źlę.
Dodam, żę procedura wywołana w consoli SQl wykonuje sie prawidłowo, strona z kodem PHP tez nie zwraca błedów ale efektów w tabeli wciaz brak