<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >maxdb_stmt_fetch</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="MaxDB PHP Extension" HREF="ref.maxdb.html"><LINK REL="PREVIOUS" TITLE="maxdb_stmt_execute" HREF="function.maxdb-stmt-execute.html"><LINK REL="NEXT" TITLE="maxdb_stmt_free_result" HREF="function.maxdb-stmt-free-result.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.maxdb-stmt-execute.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.maxdb-stmt-free-result.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.maxdb-stmt-fetch" ></A >maxdb_stmt_fetch</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN113140" ></A ><P > (PECL)</P >maxdb_stmt_fetch<P > (no version information, might be only in CVS)</P >stmt->fetch -- Fetch results from a prepared statement into the bound variables</DIV ><DIV CLASS="refsect1" ><A NAME="AEN113144" ></A ><H2 >Description</H2 ><P >Procedural style:</P >bool <B CLASS="methodname" >maxdb_stmt_fetch</B > ( resource stmt )<BR ></BR ><P >Object oriented style (method):</P >class <B CLASS="classname" >stmt</B > { <BR ></BR >bool <B CLASS="methodname" >fetch</B > ( void )<BR ></BR >}<P > <B CLASS="function" >maxdb_stmt_fetch()</B > returns row data using the variables bound by <A HREF="function.maxdb-stmt-bind-result.html" ><B CLASS="function" >maxdb_stmt_bind_result()</B ></A >. </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > Note that all columns must be bound by the application before calling <B CLASS="function" >maxdb_stmt_fetch()</B >. </P ></BLOCKQUOTE ></DIV ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN113167" ></A ><H2 >Return values</H2 ><DIV CLASS="table" ><A NAME="AEN113169" ></A ><P ><B >表 1. Return values</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><THEAD ><TR ><TH >Value</TH ><TH >Description</TH ></TR ></THEAD ><TBODY ><TR ><TD ><TT CLASS="constant" ><B >TRUE</B ></TT ></TD ><TD >Success. Data has been fetched</TD ></TR ><TR ><TD ><TT CLASS="constant" ><B >FALSE</B ></TT ></TD ><TD >Error occured</TD ></TR ><TR ><TD ><TT CLASS="literal" ><TT CLASS="constant" ><B >NULL</B ></TT ></TT ></TD ><TD >No more rows/data exists</TD ></TR ></TBODY ></TABLE ></DIV ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN113190" ></A ><H2 >See also</H2 ><P > <A HREF="function.maxdb-prepare.html" ><B CLASS="function" >maxdb_prepare()</B ></A >, <A HREF="function.maxdb-stmt-errno.html" ><B CLASS="function" >maxdb_stmt_errno()</B ></A >, <A HREF="function.maxdb-stmt-error.html" ><B CLASS="function" >maxdb_stmt_error()</B ></A >, <A HREF="function.maxdb-stmt-bind-result.html" ><B CLASS="function" >maxdb_stmt_bind_result()</B ></A > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN113197" ></A ><H2 >Example</H2 ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN113199" ></A ><P ><B >例 1. Object oriented style</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />$maxdb </font><font color="#007700">= new </font><font color="#0000BB">maxdb</font><font color="#007700">(</font><font color="#DD0000">"localhost"</font><font color="#007700">, </font><font color="#DD0000">"MONA"</font><font color="#007700">, </font><font color="#DD0000">"RED"</font><font color="#007700">, </font><font color="#DD0000">"DEMODB"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">/* check connection */<br /></font><font color="#007700">if (</font><font color="#0000BB">maxdb_connect_errno</font><font color="#007700">()) {<br /> </font><font color="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"Connect failed: %s\n"</font><font color="#007700">, </font><font color="#0000BB">maxdb_connect_error</font><font color="#007700">());<br /> exit();<br />}<br /><br /></font><font color="#0000BB">$query </font><font color="#007700">= </font><font color="#DD0000">"SELECT zip, name FROM hotel.city ORDER by name"</font><font color="#007700">;<br /><br />if (</font><font color="#0000BB">$stmt </font><font color="#007700">= </font><font color="#0000BB">$maxdb</font><font color="#007700">-></font><font color="#0000BB">prepare</font><font color="#007700">(</font><font color="#0000BB">$query</font><font color="#007700">)) {<br /><br /> </font><font color="#FF8000">/* execute statement */<br /> </font><font color="#0000BB">$stmt</font><font color="#007700">-></font><font color="#0000BB">execute</font><font color="#007700">();<br /><br /> </font><font color="#FF8000">/* bind result variables */<br /> </font><font color="#0000BB">$stmt</font><font color="#007700">-></font><font color="#0000BB">bind_result</font><font color="#007700">(</font><font color="#0000BB">$name</font><font color="#007700">, </font><font color="#0000BB">$code</font><font color="#007700">);<br /><br /> </font><font color="#FF8000">/* fetch values */<br /> </font><font color="#007700">while (</font><font color="#0000BB">$stmt</font><font color="#007700">-></font><font color="#0000BB">fetch</font><font color="#007700">()) {<br /> </font><font color="#0000BB">printf </font><font color="#007700">(</font><font color="#DD0000">"%s (%s)\n"</font><font color="#007700">, </font><font color="#0000BB">$name</font><font color="#007700">, </font><font color="#0000BB">$code</font><font color="#007700">);<br /> }<br /><br /> </font><font color="#FF8000">/* close statement */<br /> </font><font color="#0000BB">$stmt</font><font color="#007700">-></font><font color="#0000BB">close</font><font color="#007700">();<br />}<br /><br /></font><font color="#FF8000">/* close connection */<br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-></font><font color="#0000BB">close</font><font color="#007700">();<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN113202" ></A ><P ><B >例 2. Procedural style</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />$link </font><font color="#007700">= </font><font color="#0000BB">maxdb_connect</font><font color="#007700">(</font><font color="#DD0000">"localhost"</font><font color="#007700">, </font><font color="#DD0000">"MONA"</font><font color="#007700">, </font><font color="#DD0000">"RED"</font><font color="#007700">, </font><font color="#DD0000">"DEMODB"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">/* check connection */<br /></font><font color="#007700">if (</font><font color="#0000BB">maxdb_connect_errno</font><font color="#007700">()) {<br /> </font><font color="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"Connect failed: %s\n"</font><font color="#007700">, </font><font color="#0000BB">maxdb_connect_error</font><font color="#007700">());<br /> exit();<br />}<br /><br /></font><font color="#0000BB">$query </font><font color="#007700">= </font><font color="#DD0000">"SELECT zip, name FROM hotel.city ORDER by name"</font><font color="#007700">;<br /><br />if (</font><font color="#0000BB">$stmt </font><font color="#007700">= </font><font color="#0000BB">maxdb_prepare</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#0000BB">$query</font><font color="#007700">)) {<br /><br /> </font><font color="#FF8000">/* execute statement */<br /> </font><font color="#0000BB">maxdb_stmt_execute</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">);<br /><br /> </font><font color="#FF8000">/* bind result variables */<br /> </font><font color="#0000BB">maxdb_stmt_bind_result</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">, </font><font color="#0000BB">$name</font><font color="#007700">, </font><font color="#0000BB">$code</font><font color="#007700">);<br /><br /> </font><font color="#FF8000">/* fetch values */<br /> </font><font color="#007700">while (</font><font color="#0000BB">maxdb_stmt_fetch</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">)) {<br /> </font><font color="#0000BB">printf </font><font color="#007700">(</font><font color="#DD0000">"%s (%s)\n"</font><font color="#007700">, </font><font color="#0000BB">$name</font><font color="#007700">, </font><font color="#0000BB">$code</font><font color="#007700">);<br /> }<br /><br /> </font><font color="#FF8000">/* close statement */<br /> </font><font color="#0000BB">maxdb_stmt_close</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">);<br />}<br /><br /></font><font color="#FF8000">/* close connection */<br /></font><font color="#0000BB">maxdb_close</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">);<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ><P > The above examples would produce the following output: </P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" >12203 (Albany) 60601 (Chicago) 60615 (Chicago) 45211 (Cincinnati) 33575 (Clearwater) 75243 (Dallas) 32018 (Daytona Beach) 33441 (Deerfield Beach) 48226 (Detroit) 90029 (Hollywood) 92714 (Irvine) 90804 (Long Beach) 11788 (Long Island) 90018 (Los Angeles) 70112 (New Orleans) 10019 (New York) 10580 (New York) 92262 (Palm Springs) 97213 (Portland) 60018 (Rosemont) 95054 (Santa Clara) 20903 (Silver Spring) 20005 (Washington) 20019 (Washington) 20037 (Washington)</PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.maxdb-stmt-execute.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.maxdb-stmt-free-result.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >maxdb_stmt_execute</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.maxdb.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >maxdb_stmt_free_result</TD ></TR ></TABLE ></DIV ></BODY ></HTML >