-1

I have a problem with a stored procedure in SQL Server and when I want to run it there is no errors no result.

Thanks for your help.

Here is the stored procedure in SQL Server:

ALTER PROCEDURE [dbo].[SonNum]  
    (@FiNo BIGINT,
     @TeNo BIGINT,
     @Dok INT)
AS
BEGIN
    DECLARE @DokNum BIGINT

    SET @DokNum = (SELECT DokNo 
                   FROM CH_SonNum 
                   WHERE FiNo = @FiNo AND TeNo = @TeNo AND Dok = @Dok)

    IF @DokNum = 0 OR @DokNum IS NULL
    BEGIN
        SET @DokNum = 1

        INSERT INTO CH_SonNum (FiNo, TesNo, Dok, kNo) 
        VALUES (@FiNo, @TeNo, @Dok, 2)
    END
    ELSE 
    BEGIN
        UPDATE CH_SonNum 
        SET Dok = Dok + 1 
        WHERE FiNo = @FiNo AND TeNo = @TeNo AND Dok = @Dok
    END

    SELECT @DokNum AS Dok
END

and here is my php code:

<?php  

$FiNo= 1;
$TeNo=10;
$Dok=204;

$sql = "EXEC [dbo].[SonNum] '$FiNo','TeNo','$Dok';
$stmt =  sqlsrv_query( $conn,$sql);
if( $stmt === false ) {
    if( ($errors = sqlsrv_errors() ) != null) {
        foreach( $errors as $error ) {
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
            echo "code: ".$error[ 'code']."<br />";
            echo "message: ".$error[ 'message']."<br />";
        }
    }
}

?>
marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
erene
  • 1
  • 1
  • 1

1 Answers1

0

Not sure if it's causing your issue but you're missing a " at the end of $sql = "EXEC [dbo].[SonNum] '$FiNo','TeNo','$Dok';

$FiNo= 1;
$TeNo=10;
$Dok=204;

$sql = "EXEC [dbo].[SonNum] '$FiNo','TeNo','$Dok'" //<-- You were missing a " ;
$stmt =  sqlsrv_query( $conn,$sql);
if( $stmt === false ) {
    if( ($errors = sqlsrv_errors() ) != null) {
        foreach( $errors as $error ) {
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
            echo "code: ".$error[ 'code']."<br />";
            echo "message: ".$error[ 'message']."<br />";
        }
    }
}

?>
JeanPaul98
  • 492
  • 6
  • 18