-
Notifications
You must be signed in to change notification settings - Fork 157
/
Copy pathsqlsrv-fetch-object.xml
203 lines (194 loc) · 7.21 KB
/
sqlsrv-fetch-object.xml
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4245a355fa612ba8c21db0502d9728258a933e63 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.sqlsrv-fetch-object" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>sqlsrv_fetch_object</refname>
<refpurpose>Récupère la prochaine ligne de données du jeu de résultats sous la forme d'un objet</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>sqlsrv_fetch_object</methodname>
<methodparam><type>resource</type><parameter>stmt</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>className</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>ctorParams</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>row</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>offset</parameter></methodparam>
</methodsynopsis>
<para>
Récupère la prochaine ligne de données du jeu de résultats sous la forme
d'une instance de la classe spécifiée dont les propriétés correspondent aux
noms des champs de la ligne récupérée et les valeurs correspondant aux valeurs
des champs de la ligne récupérée.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>stmt</parameter></term>
<listitem>
<para>
Une ressource de requête créée par la fonction
<function>sqlsrv_query</function> ou la fonction
<function>sqlsrv_execute</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>className</parameter></term>
<listitem>
<para>
Le nom de la classe à instancier. Si aucun nom de classe
n'est spécifié, stdClass sera instanciée.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>ctorParams</parameter></term>
<listitem>
<para>
Valeurs à passer au constructeur de la classe spécifiée. Si le constructeur
de la classe spécifiée prend des paramètres, le tableau ctorParams
doit être fourni.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>row</parameter></term>
<listitem>
<para>
La ligne à traiter. Ce paramètre ne peut être utilisé que si la
requête spécifié a été préparée avec un curseur scrollable. Dans ce
cas, ce paramètre peut prend un des valeurs suivantes :
<simplelist>
<member>SQLSRV_SCROLL_NEXT</member>
<member>SQLSRV_SCROLL_PRIOR</member>
<member>SQLSRV_SCROLL_FIRST</member>
<member>SQLSRV_SCROLL_LAST</member>
<member>SQLSRV_SCROLL_ABSOLUTE</member>
<member>SQLSRV_SCROLL_RELATIVE</member>
</simplelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Spécifie la ligne à traiter si le paramètre row est défini à
la valeur <constant>SQLSRV_SCROLL_ABSOLUTE</constant> ou
<constant>SQLSRV_SCROLL_RELATIVE</constant>.
Notez que la première ligne du jeu de résultats a un index de 0.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne un objet en cas de succès, &null; s'il n'y a plus de ligne à
retourner, et &false; si une erreur survient ou si la classe spécifiée
n'existe pas.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>sqlsrv_fetch_object</function></title>
<para>
L'exemple suivant montre la façon pour récupérer une ligne sous la
forme d'un objet stdClass.
</para>
<programlisting role="php">
<![CDATA[
<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT fName, lName FROM Table_1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
// Récupère chaque ligne sous la forme d'un objet
// Vu qu'aucune classe n'est spécifiée, chaque ligne sera récupéré sous la forme d'un objet stdClass.
// Les noms des propriétés correspondent aux noms des champs.
while( $obj = sqlsrv_fetch_object( $stmt)) {
echo $obj->fName.", ".$obj->lName."<br />";
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<para>
Si un nom de classe est spécifié avec le paramètre optionnel $className
et la classe a des propriétés dont les noms correspondent à des noms de
champs du jeu de résultats, les valeurs correspondantes du jeu de résultats
seront appliquées à ces propriétés. Si un nom de champs du jeu de résultats
ne correspond pas à une proriété de la classe, une propriété dont le nom
correspond au nom du champs sera ajoutée à l'objet et la valeur correspondante
dans le jeu de résultats sera appliquée à cette propriété. La règle suivante
s'applique lors de l'utilisation du paramètre $className :
<simplelist>
<member>Le nom du champs et de la propriété sont sensibles à la casse.</member>
<member>La correspondance champs/propriété survient en tenant compte des modificateurs d'accès.</member>
<member>Les types de données des propriétés de la classe sont ignorées lors de l'application
de la valeur d'un champs sur une propriété.</member>
<member>Si la classe n'existe pas, la fonction retourne &false; et ajoute une erreur dans la collection
des erreurs.</member>
</simplelist>
Suuivant si le paramètre $className est fourni ou non, si un champs avec aucun nom
est retourné, la valeur du champs sera ignorée et une alerte sera ajoutée à la collection
des erreurs.
</para>
<para>
Lors du traitement d'un jeu de résultats qui possède plusieurs colonnes portant le
même nom, il peut être plus judicieux d'utiliser la fonction
<function>sqlsrv_fetch_array</function> ou une combinaison des fonctions
<function>sqlsrv_fetch</function> et <function>sqlsrv_get_field</function>.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>sqlsrv_fetch</function></member>
<member><function>sqlsrv_fetch_array</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->