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 : Sélectionner tout - Visualiser dans une fenêtre à part 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
Le param3 est un paramètre que la procédure stockée doit me renvoyer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)); }
Voici le message d'erreur que je reçois.
J'ai vérifié les types que je dois recevoir en sortie et ce sont bien des dates.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. ) )
Auriez-vous une idée de l'erreur que je commet ?
Par avance merci.
Partager