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
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 297028 $ -->
<refentry xml:id="function.odbc-execute" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>odbc_execute</refname>
<refpurpose>Execute a prepared statement</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>odbc_execute</methodname>
<methodparam><type>resource</type><parameter>result_id</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>parameters_array</parameter></methodparam>
</methodsynopsis>
<para>
Executes a statement prepared with <function>odbc_prepare</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>result_id</parameter></term>
<listitem>
<para>
The result id <type>resource</type>, from <function>odbc_prepare</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>parameters_array</parameter></term>
<listitem>
<para>
Parameters in <parameter>parameter_array</parameter> will be
substituted for placeholders in the prepared statement in order.
Elements of this array will be converted to strings by calling this
function.
</para>
<para>
Any parameters in <parameter>parameter_array</parameter> which
start and end with single quotes will be taken as the name of a
file to read and send to the database server as the data for the
appropriate placeholder.
</para>
<simpara>
If you wish to store a string which actually begins and ends with
single quotes, you must add a space or other non-single-quote character
to the beginning or end of the parameter, which will prevent the
parameter from being taken as a file name. If this is not an option,
then you must use another mechanism to store the string, such as
executing the query directly with <function>odbc_exec</function>).
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>odbc_execute</function> and <function>odbc_prepare</function> example</title>
<para>
In the following code, <varname>$success</varname> will only be
&true; if all three parameters to myproc are IN parameters:
</para>
<programlisting role="php">
<![CDATA[
<?php
$a = 1;
$b = 2;
$c = 3;
$stmt = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>
]]>
</programlisting>
</example>
</para>
<para>
If you need to call a stored procedure using INOUT or OUT parameters,
the recommended workaround is to use a native extension for your database
(for example, <link linkend='ref.mssql'>mssql</link> for MS SQL Server,
or <link linkend='ref.mssql'>oci8</link> for Oracle).
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>4.2.0</entry>
<entry>
File reading is now subject to &safemode; and
<link linkend="ini.open-basedir">open-basedir</link> restrictions
in <parameter>parameters_array</parameter>.
</entry>
</row>
<row>
<entry>4.1.1</entry>
<entry>
<link linkend="features.remote-files">Remote files</link>
are no longer supported in <parameter>parameters_array</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>odbc_prepare</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
-->
|