Bonjour,

J'ai un petit phénomène étrange a expliquer.

su ma page php j'ai ce bout de code:

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
$connectionInfo = array( "UID"=>"xx","PWD"=>"xxx","Database"=>"ls9");
$conn = sqlsrv_connect( "yyy.yyy.y.y", $connectionInfo);
 
if( $conn === false )
{
     echo "Could not connect.\n";
     die( print_r( sqlsrv_errors(), true));
}
 
$tsql_callSP = "{call pt_inet_init_date_cal(?)}";
 
params = array( 
                 array('FR', SQLSRV_PARAM_IN)
               );
 
 
$stmt = sqlsrv_query( $conn, $tsql_callSP, $params);
 
if ( $stmt )
{
     $rows = sqlsrv_has_rows( $stmt );
   if ($rows === true)
      echo "Il y a des lignes. <br />";
   else 
      echo "Il n'y a aucune ligne. <br />";
} 
else 
{
     echo "Error in statement execution.\n";
     die( print_r( sqlsrv_errors(), true));
}
 
 
$results = array();
 
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
       $results[] = $row;
	   echo "<pre>";
       print_r($row);
       echo "</pre>";
}
 
sqlsrv_free_stmt( $stmt);
 
 
echo 'longeur results '.count($results).'<br/>';
une proc stocké qui utilise des tables temporaires ne retourne rien a la fin par contre si je l’exécute sur la console sqldbx ça fonctionne.

Si je fai appel a une autre proc stocké qui contient pas des insert into #xxxx ça fonctionne aussi.

Après des tests et des recherche j'ai constaté que l'insertion a des table temporaire plante le retour de la proc stocké juste avec php parce que ça fonctionne très bien avec asp

Merci de me répondre si vous avez des explications.