Bonjour,
J'ai un petit phénomène étrange a expliquer.
su ma page php j'ai ce bout de code:
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.
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/>';
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.
Partager