uTools-Manuals/docs/php/sqlsrv_fetch_object.html
2019-04-08 23:22:26 +08:00

187 lines
11 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Retrieves the next row of data in a result set as an object</title>
</head>
<body class="docs"><div id="layout">
<div id="layout-content"><div id="function.sqlsrv-fetch-object" class="refentry">
<div class="refnamediv">
<h1 class="refname">sqlsrv_fetch_object</h1>
<p class="verinfo">(No version information available, might only be in Git)</p><p class="refpurpose"><span class="refname">sqlsrv_fetch_object</span> &mdash; <span class="dc-title">Retrieves the next row of data in a result set as an object</span></p>
</div>
<div class="refsect1 description" id="refsect1-function.sqlsrv-fetch-object-description">
<h3 class="title">说明</h3>
<div class="methodsynopsis dc-description">
<span class="methodname"><strong>sqlsrv_fetch_object</strong></span>
( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$stmt</code></span>
[, <span class="methodparam"><span class="type">string</span> <code class="parameter">$className</code></span>
[, <span class="methodparam"><span class="type">array</span> <code class="parameter">$ctorParams</code></span>
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$row</code></span>
[, <span class="methodparam"><span class="type">int</span> <code class="parameter">$offset</code></span>
]]]] ) : <span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span></div>
<p class="para rdfs-comment">
Retrieves the next row of data in a result set as an instance of the specified
class with properties that match the row field names and values that correspond
to the row field values.
</p>
</div>
<div class="refsect1 parameters" id="refsect1-function.sqlsrv-fetch-object-parameters">
<h3 class="title">参数</h3>
<p class="para">
<dl>
<dt>
<code class="parameter">stmt</code></dt>
<dd>
<p class="para">
A statement resource created by <span class="function"><a href="sqlsrv_query.html" class="function">sqlsrv_query()</a></span> or
<span class="function"><a href="sqlsrv_execute.html" class="function">sqlsrv_execute()</a></span>.
</p>
</dd>
<dt>
<code class="parameter">className</code></dt>
<dd>
<p class="para">
The name of the class to instantiate. If no class name is specified,
stdClass is instantiated.
</p>
</dd>
<dt>
<code class="parameter">ctorParams</code></dt>
<dd>
<p class="para">
Values passed to the constructor of the specified class. If the constructor
of the specified class takes parameters, the ctorParams array must be
supplied.
</p>
</dd>
<dt>
<code class="parameter">row</code></dt>
<dd>
<p class="para">
The row to be accessed. This parameter can only be used if the specified
statement was prepared with a scrollable cursor. In that case, this parameter
can take on one of the following values:
<ul class="simplelist">
<li class="member">SQLSRV_SCROLL_NEXT</li>
<li class="member">SQLSRV_SCROLL_PRIOR</li>
<li class="member">SQLSRV_SCROLL_FIRST</li>
<li class="member">SQLSRV_SCROLL_LAST</li>
<li class="member">SQLSRV_SCROLL_ABSOLUTE</li>
<li class="member">SQLSRV_SCROLL_RELATIVE</li>
</ul>
</p>
</dd>
<dt>
<code class="parameter">offset</code></dt>
<dd>
<p class="para">
Specifies the row to be accessed if the row parameter is set to
<strong><code>SQLSRV_SCROLL_ABSOLUTE</code></strong> or
<strong><code>SQLSRV_SCROLL_RELATIVE</code></strong>. Note that the first row in
a result set has index 0.
</p>
</dd>
</dl>
</p>
</div>
<div class="refsect1 returnvalues" id="refsect1-function.sqlsrv-fetch-object-returnvalues">
<h3 class="title">返回值</h3>
<p class="para">
Returns an object on success, <strong><code>NULL</code></strong> if there are no more rows to return,
and <strong><code>FALSE</code></strong> if an error occurs or if the specified class does not exist.
</p>
</div>
<div class="refsect1 examples" id="refsect1-function.sqlsrv-fetch-object-examples">
<h3 class="title">范例</h3>
<p class="para">
<div class="example" id="sqlite3stmt.getsql.example.expanded">
<p><strong>Example #1 <span class="function"><strong>sqlsrv_fetch_object()</strong></span> example</strong></p>
<div class="example-contents"><p>
The following example demonstrates how to retrieve a row as a stdClass object.
</p></div>
<div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$serverName&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"serverName\sqlexpress"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$connectionInfo&nbsp;</span><span style="color: #007700">=&nbsp;array(&nbsp;</span><span style="color: #DD0000">"Database"</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">"dbName"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"UID"</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">"username"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"PWD"</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">"password"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$conn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">sqlsrv_connect</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$serverName</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$connectionInfo</span><span style="color: #007700">);<br />if(&nbsp;</span><span style="color: #0000BB">$conn&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">false&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die(&nbsp;</span><span style="color: #0000BB">print_r</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">sqlsrv_errors</span><span style="color: #007700">(),&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">));<br />}<br /><br /></span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"SELECT&nbsp;fName,&nbsp;lName&nbsp;FROM&nbsp;Table_1"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$stmt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">sqlsrv_query</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$conn</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$sql</span><span style="color: #007700">);<br />if(&nbsp;</span><span style="color: #0000BB">$stmt&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">false&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die(&nbsp;</span><span style="color: #0000BB">print_r</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">sqlsrv_errors</span><span style="color: #007700">(),&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">));<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Retrieve&nbsp;each&nbsp;row&nbsp;as&nbsp;an&nbsp;object.<br />//&nbsp;Because&nbsp;no&nbsp;class&nbsp;is&nbsp;specified,&nbsp;each&nbsp;row&nbsp;will&nbsp;be&nbsp;retrieved&nbsp;as&nbsp;a&nbsp;stdClass&nbsp;object.<br />//&nbsp;Property&nbsp;names&nbsp;correspond&nbsp;to&nbsp;field&nbsp;names.<br /></span><span style="color: #007700">while(&nbsp;</span><span style="color: #0000BB">$obj&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">sqlsrv_fetch_object</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #0000BB">$obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fName</span><span style="color: #007700">.</span><span style="color: #DD0000">",&nbsp;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">lName</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;br&nbsp;/&gt;"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
</div>
</div>
</p>
</div>
<div class="refsect1 notes" id="refsect1-function.sqlsrv-fetch-object-notes">
<h3 class="title">注释</h3>
<p class="para">
If a class name is specified with the optional $className parameter and the
class has properties whose names match the result set field names, the corresponding
result set values are applied to the properties. If a result set field name
does not match a class property, a property with the result set field name is added
to the object and the result set value is applied to the property. The following
rules apply when using the $className parameter:
<ul class="simplelist">
<li class="member">Field-property name matching is case-sensitive.</li>
<li class="member">Field-property matching occurs regardless of access modifiers.</li>
<li class="member">Class property data types are ignored when applying a field value to a property.</li>
<li class="member">If the class does not exist, the function returns <strong><code>FALSE</code></strong> and adds an error to the error collection.</li>
</ul>
Regardless of whether the $className parameter is supplied, if a field with no
name is returned, the field value will be ignored and a warning will be added
to the error collection.
</p>
<p class="para">
When consuming a result set that has multiple columns with the same name, it may
be better to use <span class="function"><a href="sqlsrv_fetch_array.html" class="function">sqlsrv_fetch_array()</a></span> or the combination of
<span class="function"><a href="sqlsrv_fetch.html" class="function">sqlsrv_fetch()</a></span> and <span class="function"><a href="sqlsrv_get_field.html" class="function">sqlsrv_get_field()</a></span>.
</p>
</div>
<div class="refsect1 seealso" id="refsect1-function.sqlsrv-fetch-object-seealso">
<h3 class="title">参见</h3>
<p class="para">
<ul class="simplelist">
<li class="member"><span class="function"><a href="sqlsrv_fetch.html" class="function" rel="rdfs-seeAlso">sqlsrv_fetch()</a> - Makes the next row in a result set available for reading</span></li>
<li class="member"><span class="function"><a href="sqlsrv_fetch_array.html" class="function" rel="rdfs-seeAlso">sqlsrv_fetch_array()</a> - Returns a row as an array</span></li>
</ul>
</p>
</div>
</div></div></div></body></html>