Appel de procédure stockée sqlsrv
Bonjour,
Je souhaite faire appel à une procédure stockée dans mon code php.
Sous SQLSERVER, ma procédure stokée est appellée de cette manière :
Code:
exec maProcedure @myparam='D', @mydate='2002-06-21'
Je procède de la sorte afin d'appeler cette procédure stockée dans mon code php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| $serverName = "myserver\monInstance"; //serverName\instanceName
$connectionInfo = array( "Database"=>"mydb", "UID"=>"myuse", "PWD"=>"mypwd");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$tsql_callSP = "{call maProcedure(?, ?)}";
$param1= 'D';
$param2 = 2002-06-21;
$params = Array(
Array(&$param1, SQLSRV_PARAM_IN, null),
Array(&$param2, SQLSRV_PARAM_IN, null),
);
Array(&$param3, SQLSRV_PARAM_OUT,SQLSRV_PHPTYPE_STRING)
/* Execute the query. */
$stmtTerms = sqlsrv_query( $conn, $tsql_callSP, $params);
if( $stmtTerms === false ) {
echo "Error in executing statement Terms.\n";
die( print_r( sqlsrv_errors(), true)); } |
Le param3 est un paramètre que la procédure stockée doit me renvoyer
Voici le message d'erreur que je reçois.
Citation:
Error in executing statement Terms. Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -7 [code] => -7 [2] => An invalid PHP type was specified as an output parameter. DateTime objects, NULL values, and streams cannot be specified as output parameters. [message] => An invalid PHP type was specified as an output parameter. DateTime objects, NULL values, and streams cannot be specified as output parameters. ) )
J'ai vérifié les types que je dois recevoir en sortie et ce sont bien des dates.
Auriez-vous une idée de l'erreur que je commet ?
Par avance merci.