-
Notifications
You must be signed in to change notification settings - Fork 788
/
Copy pathfetch-object.xml
209 lines (193 loc) · 6.45 KB
/
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
204
205
206
207
208
209
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="mysqli-result.fetch-object" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysqli_result::fetch_object</refname>
<refname>mysqli_fetch_object</refname>
<refpurpose>Fetch the next row of a result set as an object</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>&style.oop;</para>
<methodsynopsis role="mysqli_result">
<modifier>public</modifier> <type class="union"><type>object</type><type>null</type><type>false</type></type><methodname>mysqli_result::fetch_object</methodname>
<methodparam choice="opt"><type>string</type><parameter>class</parameter><initializer>"stdClass"</initializer></methodparam>
<methodparam choice="opt"><type>array</type><parameter>constructor_args</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<para>&style.procedural;</para>
<methodsynopsis>
<type class="union"><type>object</type><type>null</type><type>false</type></type><methodname>mysqli_fetch_object</methodname>
<methodparam><type>mysqli_result</type><parameter>result</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>class</parameter><initializer>"stdClass"</initializer></methodparam>
<methodparam choice="opt"><type>array</type><parameter>constructor_args</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<para>
Fetches one row of data from the result set and returns it as an object,
where each property represents the name of the result set's column.
Each subsequent call to this function will return the next row within the
result set, or &null; if there are no more rows.
</para>
<para>
If two or more columns of the result have the same name, the last
column will take precedence and overwrite any previous data. To
access multiple columns with the same name,
<function>mysqli_fetch_row</function> may be used to fetch the numerically
indexed array, or aliases may be used in the SQL query select list to give
columns different names.
</para>
<note xmlns="http://docbook.org/ns/docbook">
<simpara>
This function sets the properties
of the object before calling the object constructor.
</simpara>
</note>
&database.field-case;
&database.fetch-null;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&mysqli.result.description;
<varlistentry>
<term><parameter>class</parameter></term>
<listitem>
<para>
The name of the class to instantiate, set the properties of and return.
If not specified, a <classname>stdClass</classname> object is returned.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>constructor_args</parameter></term>
<listitem>
<para>
An optional <type>array</type> of parameters to pass to the constructor
for <parameter>class</parameter> objects.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns an object representing the fetched row, where each property
represents the name of the result set's column, &null; if there
are no more rows in the result set, &return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
A <classname>ValueError</classname> is thrown when
the <parameter>constructor_args</parameter> is non-empty with the class not having constructor.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.3.0</entry>
<entry>
Now throws a <classname>ValueError</classname> exception when
the <parameter>constructor_args</parameter> is non-empty with the class not having constructor;
previously an <classname>Exception</classname> was thrown.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>constructor_args</parameter> now accepts <literal>[]</literal> for constructors with 0 parameters;
previously an exception was thrown.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><methodname>mysqli_result::fetch_object</methodname> example</title>
<para>&style.oop;</para>
<programlisting role="php">
<![CDATA[
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = $mysqli->query($query);
while ($obj = $result->fetch_object()) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
]]>
</programlisting>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = mysqli_query($link, $query);
while ($obj = mysqli_fetch_object($result)) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
]]>
</programlisting>
&examples.outputs.similar;
<screen>
<![CDATA[
Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mysqli_fetch_array</function></member>
<member><function>mysqli_fetch_assoc</function></member>
<member><function>mysqli_fetch_column</function></member>
<member><function>mysqli_fetch_row</function></member>
<member><function>mysqli_query</function></member>
<member><function>mysqli_data_seek</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
-->