I am trying to get the return value from the SqlServer stored procedure. But it is giving syntax error in my Ubuntu Server which uses FreeTDS.
SQLSTATE[HY000]: General error: 20018 Incorrect syntax near '0'. [20018] (severity 15) [(null)]
Below is my code:
$stateId = 1;
$testData = 0;
$retVal = 0;
$pdo = DB::connection(env('DBCONNECTION'))->getPdo();
$stmt = $pdo->prepare('EXEC ? = GetMyCities_sp @StateID = ?, @TestData = ?');
$stmt->bindParam(1, $retVal, \PDO::PARAM_INT,20);
$stmt->bindParam(2, $stateId, \PDO::PARAM_INT);
$stmt->bindParam(3, $testData, \PDO::PARAM_INT | \PDO::PARAM_INPUT_OUTPUT, 20);
$result_status = $stmt->execute();
$resultSet = $stmt->fetchAll(\PDO::FETCH_OBJ);
print_r($resultSet);
echo "<br />";
$stmt->nextRowset();
echo "Return value is ".$retVal;
The same works fine in my windows machine. Any idea what is wrong in the code?