Sophie

Sophie

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

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
>ifx_query</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="Informix Functions"
HREF="ref.ifx.html"><LINK
REL="PREVIOUS"
TITLE="ifx_prepare"
HREF="function.ifx-prepare.html"><LINK
REL="NEXT"
TITLE="ifx_textasvarchar"
HREF="function.ifx-textasvarchar.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.ifx-prepare.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.ifx-textasvarchar.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.ifx-query"
></A
>ifx_query</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN100588"
></A
><P
>    (PHP 3 &#62;= 3.0.3, PHP 4, PHP 5)</P
>ifx_query&nbsp;--&nbsp;Send Informix query</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN100591"
></A
><H2
>说明</H2
>resource <B
CLASS="methodname"
>ifx_query</B
> ( string query, resource link_identifier [, int cursor_type [, mixed blobidarray]] )<BR
></BR
><P
>&#13;   Sends a <CODE
CLASS="parameter"
>query</CODE
> to the currently active database on
   the server that's associated with the specified link identifier.
  </P
><P
>&#13;   For "select-type" queries a cursor is declared and opened.
   Non-select queries are "execute immediate".
  </P
><P
>&#13;   For either query type the number of (estimated or real) affected rows is
   saved for retrieval by <A
HREF="function.ifx-affected-rows.html"
><B
CLASS="function"
>ifx_affected_rows()</B
></A
>.
  </P
><P
>&#13;   If the contents of the TEXT (or BYTE) column allow it, you can also use
   <TT
CLASS="literal"
>ifx_textasvarchar(1)</TT
> and 
   <TT
CLASS="literal"
>ifx_byteasvarchar(1)</TT
>.  This allows you to treat TEXT
   (or BYTE) columns just as if they were ordinary (but long) VARCHAR columns
   for select queries, and you don't need to bother with blob id's.
  </P
><P
>&#13;   With <TT
CLASS="literal"
>ifx_textasvarchar(0)</TT
> or 
   <TT
CLASS="literal"
>ifx_byteasvarchar(0)</TT
> (the default situation), select
   queries will return BLOB columns as blob id's (integer value).  You can
   get the value of the blob as a string or file with the blob functions (see
   below).
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN100619"
></A
><H2
>参数</H2
><P
>&#13;   <P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><CODE
CLASS="parameter"
>query</CODE
></DT
><DD
><P
>&#13;       The query string.
      </P
></DD
><DT
><CODE
CLASS="parameter"
>link_identifier</CODE
></DT
><DD
><P
>&#13;       The link identifier.
      </P
></DD
><DT
><CODE
CLASS="parameter"
>cursor_def</CODE
></DT
><DD
><P
>&#13;       This optional parameter allows you to make this a 
       <TT
CLASS="literal"
>scroll</TT
> and/or <TT
CLASS="literal"
>hold</TT
> cursor.
       It's a bitmask and can be either <TT
CLASS="constant"
><B
>IFX_SCROLL</B
></TT
>,
       <TT
CLASS="constant"
><B
>IFX_HOLD</B
></TT
>, or both or'ed together. I you omit this
       parameter the cursor is a normal sequential cursor.
      </P
></DD
><DT
><CODE
CLASS="parameter"
>blobidarray</CODE
></DT
><DD
><P
>&#13;       If you have BLOB (BYTE or TEXT) columns in the query, you can add
       a <CODE
CLASS="parameter"
>blobidarray</CODE
> parameter containing the
       corresponding "blob ids", and you should replace those columns
       with a "?" in the query text.
      </P
></DD
></DL
></DIV
>
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN100648"
></A
><H2
>返回值</H2
><P
>&#13;   Returns valid Informix result identifier on success, or <TT
CLASS="constant"
><B
>FALSE</B
></TT
> on errors.
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN100652"
></A
><H2
>范例</H2
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN100655"
></A
><P
><B
>例 1. 
     Show all rows of the "orders" table as a HTML table
    </B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />ifx_textasvarchar</font><font color="#007700">(</font><font color="#0000BB">1</font><font color="#007700">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">// use "text mode" for blobs<br /></font><font color="#0000BB">$res_id </font><font color="#007700">= </font><font color="#0000BB">ifx_query</font><font color="#007700">(</font><font color="#DD0000">"select * from orders"</font><font color="#007700">, </font><font color="#0000BB">$conn_id</font><font color="#007700">);<br />if (! </font><font color="#0000BB">$res_id</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">printf</font><font color="#007700">(</font><font color="#DD0000">"Can't select orders : %s\n&lt;br /&gt;%s&lt;br /&gt;\n"</font><font color="#007700">, </font><font color="#0000BB">ifx_error</font><font color="#007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">ifx_errormsg</font><font color="#007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;die;<br />}<br /></font><font color="#0000BB">ifx_htmltbl_result</font><font color="#007700">(</font><font color="#0000BB">$res_id</font><font color="#007700">, </font><font color="#DD0000">"border=\"1\""</font><font color="#007700">);<br /></font><font color="#0000BB">ifx_free_result</font><font color="#007700">(</font><font color="#0000BB">$res_id</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="AEN100658"
></A
><P
><B
>例 2. Insert some values into the "catalog" table</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /><br /></font><font color="#FF8000">// create blob id's for a byte and text column<br /></font><font color="#0000BB">$textid </font><font color="#007700">= </font><font color="#0000BB">ifx_create_blob</font><font color="#007700">(</font><font color="#0000BB">0</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">, </font><font color="#DD0000">"Text column in memory"</font><font color="#007700">);<br /></font><font color="#0000BB">$byteid </font><font color="#007700">= </font><font color="#0000BB">ifx_create_blob</font><font color="#007700">(</font><font color="#0000BB">1</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">, </font><font color="#DD0000">"Byte column in memory"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// store blob id's in a blobid array<br /></font><font color="#0000BB">$blobidarray</font><font color="#007700">[] = </font><font color="#0000BB">$textid</font><font color="#007700">;<br /></font><font color="#0000BB">$blobidarray</font><font color="#007700">[] = </font><font color="#0000BB">$byteid</font><font color="#007700">;<br /><br /></font><font color="#FF8000">// launch query<br /></font><font color="#0000BB">$query </font><font color="#007700">= </font><font color="#DD0000">"insert into catalog (stock_num, manu_code, " </font><font color="#007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#DD0000">"cat_descr,cat_picture) values(1,'HRO',?,?)"</font><font color="#007700">;<br /></font><font color="#0000BB">$res_id </font><font color="#007700">= </font><font color="#0000BB">ifx_query</font><font color="#007700">(</font><font color="#0000BB">$query</font><font color="#007700">, </font><font color="#0000BB">$conn_id</font><font color="#007700">, </font><font color="#0000BB">$blobidarray</font><font color="#007700">);<br />if (! </font><font color="#0000BB">$res_id</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">/* ... error ... */<br /></font><font color="#007700">}<br /><br /></font><font color="#FF8000">// free result id<br /></font><font color="#0000BB">ifx_free_result</font><font color="#007700">(</font><font color="#0000BB">$res_id</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN100661"
></A
><H2
>参见</H2
><P
>&#13;   <P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
><A
HREF="function.ifx-connect.html"
><B
CLASS="function"
>ifx_connect()</B
></A
></TD
></TR
></TBODY
></TABLE
><P
></P
>
  </P
></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.ifx-prepare.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.ifx-textasvarchar.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>ifx_prepare</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.ifx.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>ifx_textasvarchar</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>