Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 7671

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>maxdb_stmt_bind_param</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_affected_rows"
HREF="function.maxdb-stmt-affected-rows.html"><LINK
REL="NEXT"
TITLE="maxdb_stmt_bind_result"
HREF="function.maxdb-stmt-bind-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-affected-rows.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-bind-result.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.maxdb-stmt-bind-param"
></A
>maxdb_stmt_bind_param</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN112663"
></A
><P
>    (PECL)</P
>maxdb_stmt_bind_param<P
>    (no version information, might be only in CVS)</P
>stmt-&#62;bind_param&nbsp;--&nbsp;Binds variables to a prepared statement as parameters</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN112667"
></A
><H2
>Description</H2
><P
>Procedural style:</P
>bool <B
CLASS="methodname"
>maxdb_stmt_bind_param</B
> ( resource stmt, string types, mixed &#38;var1 [, mixed &#38;...] )<BR
></BR
><P
>Object oriented style (method):</P
>class <B
CLASS="classname"
>stmt</B
> { <BR
></BR
>bool <B
CLASS="methodname"
>bind_param</B
> ( string types, mixed &#38;var1 [, mixed &#38;...] )<BR
></BR
>}<P
>Procedural style (extended syntax):</P
>bool <B
CLASS="methodname"
>maxdb_stmt_bind_param</B
> ( resource stmt, string types, array &#38;var )<BR
></BR
><P
>Object oriented style (method) (extended syntax):</P
>class <B
CLASS="classname"
>stmt</B
> { <BR
></BR
>bool <B
CLASS="methodname"
>bind_param</B
> ( string types, array &#38;var )<BR
></BR
>}<P
>&#13;   <B
CLASS="function"
>maxdb_stmt_bind_param()</B
> is used to bind variables for the
   parameter markers in the SQL statement that was passed to
   <A
HREF="function.maxdb-prepare.html"
><B
CLASS="function"
>maxdb_prepare()</B
></A
>.
   The string <CODE
CLASS="parameter"
>types</CODE
> contains one or more characters which specify
   the types for the corresponding bind variables.
  </P
><P
>&#13;   The extended syntax of <B
CLASS="function"
>maxdb_stmt_bind_param()</B
> allows to give the parameters
   as an array instead of a variable list of PHP variables to the function. If the array variable has not been
   used before calling <B
CLASS="function"
>maxdb_stmt_bind_param()</B
>, it has to be initialized as an emtpy
   array. See the examples how to use <B
CLASS="function"
>maxdb_stmt_bind_param()</B
> with extended syntax.
  </P
><P
>&#13;   Variables for SELECT INTO SQL statements can also be bound using <B
CLASS="function"
>maxdb_stmt_bind_param()</B
>.
   Parameters for database procedures can be bound using <B
CLASS="function"
>maxdb_stmt_bind_param()</B
>. See the
   examples how to use <B
CLASS="function"
>maxdb_stmt_bind_param()</B
> in this cases.
  </P
><P
>&#13;   If a variable bound as INTO variable to a SQL statement was used before, the content of this variable
   is overwritten by the data of the SELECT INTO statement. A reference to this variable will be invalid after a call to
   <B
CLASS="function"
>maxdb_stmt_bind_param()</B
>.
  </P
><P
>&#13;   For INOUT parameters of database procedures the content of the bound INOUT variable is overwritten by the output
   value of the database procedure. A reference to this variable will be invalid after a call to
   <B
CLASS="function"
>maxdb_stmt_bind_param()</B
>.
  </P
><P
>&#13;   <DIV
CLASS="table"
><A
NAME="AEN112744"
></A
><P
><B
>表 1. Type specification chars</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><COL><COL><THEAD
><TR
><TH
>Character</TH
><TH
>Description</TH
></TR
></THEAD
><TBODY
><TR
><TD
>i</TD
><TD
>corresponding variable has type integer</TD
></TR
><TR
><TD
>d</TD
><TD
>corresponding variable has type double</TD
></TR
><TR
><TD
>s</TD
><TD
>corresponding variable has type string</TD
></TR
><TR
><TD
>b</TD
><TD
>corresponding variable is a blob and will be sent in packages</TD
></TR
></TBODY
></TABLE
></DIV
>
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN112764"
></A
><H2
>Return values</H2
><P
>&#13;   如果成功则返回 <TT
CLASS="constant"
><B
>TRUE</B
></TT
>,失败则返回 <TT
CLASS="constant"
><B
>FALSE</B
></TT
>。
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN112769"
></A
><H2
>See also</H2
><P
>&#13;   <A
HREF="function.maxdb-stmt-bind-result.html"
><B
CLASS="function"
>maxdb_stmt_bind_result()</B
></A
>,
   <A
HREF="function.maxdb-stmt-execute.html"
><B
CLASS="function"
>maxdb_stmt_execute()</B
></A
>,
   <A
HREF="function.maxdb-stmt-fetch.html"
><B
CLASS="function"
>maxdb_stmt_fetch()</B
></A
>,
   <A
HREF="function.maxdb-prepare.html"
><B
CLASS="function"
>maxdb_prepare()</B
></A
>,
   <A
HREF="function.maxdb-stmt-send-long-data.html"
><B
CLASS="function"
>maxdb_stmt_send_long_data()</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
>
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN112779"
></A
><H2
>Example</H2
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN112781"
></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">&lt;?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 />&nbsp;&nbsp;&nbsp;</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 />&nbsp;&nbsp;&nbsp;exit();<br />}<br /><br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query </font><font color="#007700">(</font><font color="#DD0000">"CREATE TABLE temp.mycity LIKE hotel.city"</font><font color="#007700">);<br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query </font><font color="#007700">(</font><font color="#DD0000">"INSERT INTO temp.mycity SELECT * FROM hotel.city"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$stmt </font><font color="#007700">= </font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">prepare</font><font color="#007700">(</font><font color="#DD0000">"INSERT INTO temp.mycity VALUES (?, ?, ?)"</font><font color="#007700">);<br /></font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">bind_param</font><font color="#007700">(</font><font color="#DD0000">'sss'</font><font color="#007700">, </font><font color="#0000BB">$zip</font><font color="#007700">, </font><font color="#0000BB">$name</font><font color="#007700">, </font><font color="#0000BB">$state</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$zip </font><font color="#007700">= </font><font color="#DD0000">'11111'</font><font color="#007700">;<br /></font><font color="#0000BB">$name </font><font color="#007700">= </font><font color="#DD0000">'Georgetown'</font><font color="#007700">;<br /></font><font color="#0000BB">$state </font><font color="#007700">= </font><font color="#DD0000">'NY'</font><font color="#007700">;<br /><br /></font><font color="#FF8000">/* execute prepared statement */<br /></font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">execute</font><font color="#007700">();<br /><br /></font><font color="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"%d Row inserted.\n"</font><font color="#007700">, </font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">affected_rows</font><font color="#007700">);<br /><br /></font><font color="#FF8000">/* close statement and connection */<br /></font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">close</font><font color="#007700">();<br /><br /></font><font color="#FF8000">/* Clean up table CountryLanguage */<br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query</font><font color="#007700">(</font><font color="#DD0000">"DELETE FROM temp.mycity WHERE name='Georgetown'"</font><font color="#007700">);<br /></font><font color="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"%d Row deleted.\n"</font><font color="#007700">, </font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">affected_rows</font><font color="#007700">);<br /><br /></font><font color="#FF8000">/* close connection */<br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">close</font><font color="#007700">();<br /></font><font color="#0000BB">?&gt;</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="AEN112784"
></A
><P
><B
>例 2. Procedural style</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?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">$link</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;</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 />&nbsp;&nbsp;&nbsp;exit();<br />}<br /><br /></font><font color="#0000BB">maxdb_query </font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">"CREATE TABLE temp.mycity LIKE hotel.city"</font><font color="#007700">);<br /></font><font color="#0000BB">maxdb_query </font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">"INSERT INTO temp.mycity SELECT * FROM hotel.city"</font><font color="#007700">);<br /><br /></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="#DD0000">"INSERT INTO temp.mycity VALUES (?, ?, ?)"</font><font color="#007700">);<br /></font><font color="#0000BB">maxdb_stmt_bind_param</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">, </font><font color="#DD0000">'sss'</font><font color="#007700">, </font><font color="#0000BB">$zip</font><font color="#007700">, </font><font color="#0000BB">$name</font><font color="#007700">, </font><font color="#0000BB">$state</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$zip </font><font color="#007700">= </font><font color="#DD0000">'11111'</font><font color="#007700">;<br /></font><font color="#0000BB">$name </font><font color="#007700">= </font><font color="#DD0000">'Georgetown'</font><font color="#007700">;<br /></font><font color="#0000BB">$state </font><font color="#007700">= </font><font color="#DD0000">'NY'</font><font color="#007700">;<br /><br /></font><font color="#FF8000">/* execute prepared 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="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"%d Row inserted.\n"</font><font color="#007700">, </font><font color="#0000BB">maxdb_stmt_affected_rows</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">));<br /><br /></font><font color="#FF8000">/* close statement and connection */<br /></font><font color="#0000BB">maxdb_stmt_close</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">);<br /><br /></font><font color="#FF8000">/* Clean up table CountryLanguage */<br /></font><font color="#0000BB">maxdb_query</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">"DELETE FROM temp.mycity WHERE name='Georgetown'"</font><font color="#007700">);<br /></font><font color="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"%d Row deleted.\n"</font><font color="#007700">, </font><font color="#0000BB">maxdb_affected_rows</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">));<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">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
><P
>&#13;   The above examples would produce the following output:
  </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>1 Row inserted.
1 Row deleted.</PRE
></TD
></TR
></TABLE
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN112789"
></A
><P
><B
>例 3. Procedural style (SELECT INTO)</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?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">$link</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;</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 />&nbsp;&nbsp;&nbsp;exit();<br />}<br /><br /></font><font color="#FF8000">/* Performing SQL query */<br /></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="#DD0000">"SELECT price INTO ? FROM hotel.room where hno = ? and type = ?"</font><font color="#007700">);<br />if (!</font><font color="#0000BB">$stmt</font><font color="#007700">) {<br />&nbsp;&nbsp;</font><font color="#0000BB">printf </font><font color="#007700">(</font><font color="#DD0000">"Prepare failed: %s\n"</font><font color="#007700">, </font><font color="#0000BB">maxdb_error</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">));<br />}<br /><br /></font><font color="#0000BB">$hno </font><font color="#007700">= </font><font color="#DD0000">"50"</font><font color="#007700">;<br /></font><font color="#0000BB">$rtype </font><font color="#007700">= </font><font color="#DD0000">"suite"</font><font color="#007700">;<br /><br /></font><font color="#0000BB">maxdb_stmt_bind_param</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">, </font><font color="#DD0000">'dss'</font><font color="#007700">, </font><font color="#0000BB">$price</font><font color="#007700">, </font><font color="#0000BB">$hno</font><font color="#007700">, </font><font color="#0000BB">$rtype</font><font color="#007700">);<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="#0000BB">printf </font><font color="#007700">(</font><font color="#DD0000">"%f\n"</font><font color="#007700">, </font><font color="#0000BB">$price</font><font color="#007700">);<br /><br /></font><font color="#0000BB">maxdb_stmt_close </font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
><P
>&#13;   The above examples would produce the following output:
  </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>21.600000</PRE
></TD
></TR
></TABLE
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN112794"
></A
><P
><B
>例 4. Procedural style (DB procedure)</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?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">$link</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;</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 />&nbsp;&nbsp;&nbsp;exit();<br />}<br /><br /></font><font color="#0000BB">maxdb_report </font><font color="#007700">(</font><font color="#0000BB">MAXDB_REPORT_OFF</font><font color="#007700">);<br /></font><font color="#0000BB">maxdb_query</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">,</font><font color="#DD0000">"DROP DBPROC test_proc"</font><font color="#007700">);<br /></font><font color="#0000BB">maxdb_report </font><font color="#007700">(</font><font color="#0000BB">MAXDB_REPORT_ERROR</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$query </font><font color="#007700">= </font><font color="#DD0000">"create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;"</font><font color="#007700">;<br /><br /></font><font color="#0000BB">maxdb_query</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">/* Performing SQL query */<br /></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="#DD0000">"CALL test_proc (?)"</font><font color="#007700">);<br />if (!</font><font color="#0000BB">$stmt</font><font color="#007700">) {<br />&nbsp;&nbsp;</font><font color="#0000BB">printf </font><font color="#007700">(</font><font color="#DD0000">"Prepare failed: %s\n"</font><font color="#007700">, </font><font color="#0000BB">maxdb_error</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">));<br />}<br /><br /></font><font color="#0000BB">maxdb_stmt_bind_param</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">, </font><font color="#DD0000">'s'</font><font color="#007700">, </font><font color="#0000BB">$result</font><font color="#007700">);<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="#0000BB">printf </font><font color="#007700">(</font><font color="#DD0000">"%s\n"</font><font color="#007700">, </font><font color="#0000BB">$result</font><font color="#007700">);<br /><br /></font><font color="#0000BB">maxdb_stmt_close </font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
><P
>&#13;   The above examples would produce the following output:
  </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>a</PRE
></TD
></TR
></TABLE
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN112799"
></A
><P
><B
>例 5. Object oriented style (extended syntax)</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?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 />&nbsp;&nbsp;&nbsp;</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 />&nbsp;&nbsp;&nbsp;exit();<br />}<br /><br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query </font><font color="#007700">(</font><font color="#DD0000">"CREATE TABLE temp.mycity LIKE hotel.city"</font><font color="#007700">);<br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query </font><font color="#007700">(</font><font color="#DD0000">"INSERT INTO temp.mycity SELECT * FROM hotel.city"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$stmt </font><font color="#007700">= </font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">prepare</font><font color="#007700">(</font><font color="#DD0000">"INSERT INTO temp.mycity VALUES (?, ?, ?)"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$arr </font><font color="#007700">= array();<br /><br /></font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">bind_param</font><font color="#007700">(</font><font color="#DD0000">'iss'</font><font color="#007700">, </font><font color="#0000BB">$arr</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$arr</font><font color="#007700">[</font><font color="#0000BB">0</font><font color="#007700">] = </font><font color="#0000BB">11111</font><font color="#007700">;<br /></font><font color="#0000BB">$arr</font><font color="#007700">[</font><font color="#0000BB">1</font><font color="#007700">] = </font><font color="#DD0000">'Georgetown'</font><font color="#007700">;<br /></font><font color="#0000BB">$arr</font><font color="#007700">[</font><font color="#0000BB">2</font><font color="#007700">] = </font><font color="#DD0000">'NY'</font><font color="#007700">;<br /><br /></font><font color="#FF8000">/* execute prepared statement */<br /></font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">execute</font><font color="#007700">();<br /><br /></font><font color="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"%d Row inserted.\n"</font><font color="#007700">, </font><font color="#0000BB">maxdb_stmt_affected_rows</font><font color="#007700">(</font><font color="#0000BB">$stmt</font><font color="#007700">));<br /><br /></font><font color="#0000BB">$arr</font><font color="#007700">[</font><font color="#0000BB">0</font><font color="#007700">] = </font><font color="#0000BB">22222</font><font color="#007700">;<br /></font><font color="#0000BB">$arr</font><font color="#007700">[</font><font color="#0000BB">1</font><font color="#007700">] = </font><font color="#DD0000">'New Orleans'</font><font color="#007700">;<br /></font><font color="#0000BB">$arr</font><font color="#007700">[</font><font color="#0000BB">2</font><font color="#007700">] = </font><font color="#DD0000">'LA'</font><font color="#007700">;<br /><br /></font><font color="#FF8000">/* execute prepared statement */<br /></font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">execute</font><font color="#007700">();<br /><br /></font><font color="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"%d Row inserted.\n"</font><font color="#007700">, </font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">affected_rows</font><font color="#007700">);<br /><br /></font><font color="#FF8000">/* close statement and connection */<br /></font><font color="#0000BB">$stmt</font><font color="#007700">-&gt;</font><font color="#0000BB">close</font><font color="#007700">();<br /><br /></font><font color="#0000BB">$result </font><font color="#007700">= </font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query</font><font color="#007700">(</font><font color="#DD0000">"SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'"</font><font color="#007700">);<br />if (</font><font color="#0000BB">$result</font><font color="#007700">) {<br />&nbsp;&nbsp;while (</font><font color="#0000BB">$row </font><font color="#007700">= </font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">fetch_row</font><font color="#007700">()) {<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">printf </font><font color="#007700">(</font><font color="#DD0000">"%s %s %s\n"</font><font color="#007700">, </font><font color="#0000BB">$row</font><font color="#007700">[</font><font color="#0000BB">0</font><font color="#007700">], </font><font color="#0000BB">$row</font><font color="#007700">[</font><font color="#0000BB">1</font><font color="#007700">], </font><font color="#0000BB">$row</font><font color="#007700">[</font><font color="#0000BB">2</font><font color="#007700">]);<br />&nbsp;&nbsp;}<br />}<br /><br /></font><font color="#FF8000">/* Clean up table CountryLanguage */<br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query</font><font color="#007700">(</font><font color="#DD0000">"DELETE FROM temp.mycity WHERE name='Georgetown'"</font><font color="#007700">);<br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">query</font><font color="#007700">(</font><font color="#DD0000">"DELETE FROM temp.mycity WHERE name='New Orleans'"</font><font color="#007700">);<br /></font><font color="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"%d Rows deleted.\n"</font><font color="#007700">, </font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">affected_rows</font><font color="#007700">);<br /><br /></font><font color="#FF8000">/* close connection */<br /></font><font color="#0000BB">$maxdb</font><font color="#007700">-&gt;</font><font color="#0000BB">close</font><font color="#007700">();<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
><P
>&#13;   The above examples would produce the following output:
  </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>1 Row inserted.
1 Row inserted.
11111 Georgetown NY
22222 New Orleans LA
2 Rows deleted.</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-affected-rows.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-bind-result.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>maxdb_stmt_affected_rows</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_bind_result</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>