File: PDO-exec.xml

package info (click to toggle)
php-doc 20061001-1
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 45,764 kB
  • ctags: 1,611
  • sloc: xml: 502,485; php: 7,645; cpp: 500; makefile: 297; perl: 161; sh: 141; awk: 28
file content (138 lines) | stat: -rw-r--r-- 3,605 bytes parent folder | download
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
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.8 $ -->
<!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. -->
<refentry id="function.PDO-exec">
 <refnamediv>
  <refname>PDO::exec</refname>
  <refpurpose>
   Execute an SQL statement and return the number of affected rows
  </refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>int</type><methodname>PDO::exec</methodname>
   <methodparam><type>string</type><parameter>statement</parameter></methodparam>
  </methodsynopsis>

  <para>
   <function>PDO::exec</function> executes an SQL statement in
   a single function call, returning the number of rows affected by the
   statement.
  </para>
  <para>
   <function>PDO::exec</function> does not return results from a SELECT
   statement. For a SELECT statement that you only need to issue once
   during your program, consider issuing <function>PDO::query</function>.
   For a statement that you need to issue multiple times, prepare 
   a PDOStatement object with <function>PDO::prepare</function> and issue
   the statement with <function>PDOStatement::execute</function>.
  </para>

 </refsect1>
 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>statement</parameter></term>
      <listitem>
       <para>
        The SQL statement to prepare and execute.
       </para>
      </listitem>
     </varlistentry>
   </variablelist>
  </para>
 </refsect1>
 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   <function>PDO::exec</function> returns the number of rows that were modified
   or deleted by the SQL statement you issued. If no rows were affected, 
   <function>PDO::exec</function> returns <literal>0</literal>. 
  </para>

  &return.falseproblem;
  <para>
   The following example incorrectly relies on the return value of
   <function>PDO::exec</function>, wherein a statement that affected 0 rows
   results in a call to <function>die</function>:
   <programlisting role="php">
<![CDATA[
<?php
$db->exec() or die($db->errorInfo());
?>
]]>
   </programlisting>
  </para>

 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>Issuing a DELETE statement</title>
    <para>
     Count the number of rows deleted by a DELETE statement with no WHERE
     clause.
    </para>
    <programlisting role="php">
<![CDATA[
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Delete all rows from the FRUIT table */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");

/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>
]]>
    </programlisting>
    &example.outputs;
    <screen>
<![CDATA[
Deleted 1 rows.
]]>
    </screen>
   </example>
  </para>
 </refsect1>


 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>PDO::prepare</function></member>
    <member><function>PDO::query</function></member>
    <member><function>PDOStatement::execute</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:"../../../../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
-->