<?xml version='1.0' encoding='iso-8859-1'?> <!-- $Revision: 1.20 $ --> <!-- Generated by xml_proto.php v2.1. Found in /scripts directory of phpdoc. --> <reference id="ref.pdo"> <title>PDO Functions</title> <titleabbrev>PDO</titleabbrev> <partintro> <section id="pdo.intro"> &reftitle.intro; <para> &warn.experimental; The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP. Each database driver that implements the PDO interface can expose database-specific features as regular extension functions. Note that you cannot perform any database functions using the PDO extension by itself; you must use a <link linkend="pdo.drivers">database-specific PDO driver</link> to access a database server. </para> </section> <section id="pdo.installation"> &reftitle.install; <!-- Uncomment this section when PDO actually stabilizes and PEAR method works --> <!-- <para> PDO is currently available as a PECL extension from <ulink url='&url.pecl.package;pdo'>&url.pecl.package;pdo</ulink>. Ensure you have installed the CLI version of PHP and that the <command>pear</command> and <command>phpize</command> scripts are available in your current path. </para> <para> Run the following command to download, build, and install the latest stable version of PDO: <screen> <![CDATA[ pear install pdo ]]> </screen> </para> <para> The <command>pear</command> command automatically installs the PDO module into your PHP extensions directory. To enable the PDO extension on Linux or Unix operating systems, you must add the following line to &php.ini;: <screen> <![CDATA[ extension=pdo.so ]]> </screen> </para> --> <procedure id='installwindows'> <title>Windows</title> <para> Follow the same steps to install and enable the PDO drivers of your choice. </para> <step> <para> Windows users can download the extension DLL <filename>php_pdo.dll</filename> as part of the PECL collection binaries from <ulink url='&url.php.downloads;'>&url.php.downloads;</ulink> or a more recent version from a <ulink url="&url.pecl.get.win.php5.0;">PHP 5 PECL Snapshot</ulink>. </para> </step> <step> <para> To enable the PDO extension on Windows operating systems, you must add the following line to &php.ini;: <screen> <![CDATA[ extension=php_pdo.dll ]]> </screen> </para> </step> <step> <para> Next, choose the other DB specific DLL files and either use <function>dl</function> to load them at runtime, or enable them in &php.ini; below <filename>pdo_pdo.dll</filename>. For example: <screen> <![CDATA[ extension=php_pdo.dll extension=php_firebird.dll extension=php_mssql.dll extension=php_mysql.dll extension=php_oci.dll extension=php_oci8.dll extension=php_odbc.dll extension=php_pgsql.dll extension=php_sqlite.dll ]]> </screen> </para> <para> These DLL's should exist in the systems <link linkend="ini.extension-dir">extension_dir</link>. </para> </step> </procedure> <procedure id='installunix'> <title>Linux and UNIX</title> <para> Due to a bug in the <command>pear</command> installer you should install the PDO package manually using the following steps: </para> <para> Follow the same steps to install and enable the PDO drivers of your choice. </para> <step> <para>Download the PDO package to your local machine: <screen> <![CDATA[ bash$ wget http://pecl.php.net/get/PDO ]]> </screen> </para> </step> <step> <para> Determine your PHP <filename>bin</filename> directory. If your PHP 5 CLI binary lives at <filename>/usr/local/php5/bin/php</filename> then the bin dir is <filename>/usr/local/php5/bin</filename>. </para> </step> <step> <para> Set your path so that your PHP <filename>bin</filename> directory is at the front: <screen> <![CDATA[ export PATH="/usr/local/php5/bin:$PATH" ]]> </screen> </para> </step> <step> <para> Manually build and install the PDO extension: <screen> <![CDATA[ bash$ tar xzf PDO-0.2.tgz bash$ cd PDO-0.2 bash$ phpize bash$ ./configure bash$ make bash$ sudo -s bash# make install bash# echo extension=pdo.so >> /usr/local/php5/lib/php.ini ]]> </screen> </para> </step> </procedure> </section> <section id="pdo.drivers"> <title>PDO Drivers</title> <para> The following drivers currently implement the PDO interface: <informaltable> <tgroup cols='2'> <thead> <row> <entry>Driver name</entry> <entry>Supported databases</entry> </row> </thead> <tbody> <row> <entry>PDO_DBLIB</entry> <entry>FreeTDS / Microsoft SQL Server / Sybase</entry> </row> <row> <entry>PDO_FIREBIRD</entry> <entry>Firebird/Interbase 6</entry> </row> <row> <entry>PDO_MYSQL</entry> <entry>MySQL 3.x/4.0</entry> </row> <row> <entry>PDO_OCI</entry> <entry>Oracle Call Interface</entry> </row> <row> <entry>PDO_ODBC</entry> <entry>ODBC v3 (IBM DB2 and unixODBC)</entry> </row> <row> <entry>PDO_PGSQL</entry> <entry>PostgreSQL</entry> </row> <row> <entry>PDO_SQLITE</entry> <entry>SQLite 3.x</entry> </row> </tbody> </tgroup> </informaltable> </para> </section> <section id='pdo.classes'> &reftitle.classes; <section id='pdo.class.PDO'> <title><classname>PDO</classname></title> <para> Represents a connection between PHP and a database server. </para> <section id='pdo.class.PDO.constructor'> &reftitle.constructor; <itemizedlist> <listitem> <para> <link linkend='function.PDO-construct'>PDO</link> - constructs a new PDO object </para> </listitem> </itemizedlist> </section> <section id='pdo.class.PDO.methods'> &reftitle.methods; <itemizedlist> <listitem> <para> <link linkend='function.PDO-beginTransaction'>beginTransaction</link> - begins a transaction </para> </listitem> <listitem> <para> <link linkend='function.PDO-commit'>commit</link> - commits a transaction </para> </listitem> <listitem> <para> <link linkend='function.PDO-exec'>exec</link> - issues an SQL statement and returns the number of affected rows </para> </listitem> <listitem> <para> <link linkend='function.PDO-errorCode'>errorCode</link> - retrieves an error code, if any, from the database </para> </listitem> <listitem> <para> <link linkend='function.PDO-errorInfo'>errorInfo</link> - retrieves an array of error information, if any, from the database </para> </listitem> <listitem> <para> <link linkend='function.PDO-getAttribute'>getAttribute</link> - retrieves a database connection attribute </para> </listitem> <listitem> <para> <link linkend='function.PDO-lastInsertId'>lastInsertId</link> - retrieves the value of the last row that was inserted into a table </para> </listitem> <listitem> <para> <link linkend='function.PDO-prepare'>prepare</link> - prepares an SQL statement for execution </para> </listitem> <listitem> <para> <link linkend='function.PDO-query'>query</link> - issues an SQL statement and returns a result set </para> </listitem> <listitem> <para> <link linkend='function.PDO-quote'>quote</link> - returns a quoted version of a string for use in SQL statements </para> </listitem> <listitem> <para> <link linkend='function.PDO-rollBack'>rollBack</link> - roll back a transaction </para> </listitem> <listitem> <para> <link linkend='function.PDO-setAttribute'>setAttribute</link> - sets a database connection attribute </para> </listitem> </itemizedlist> </section> </section> <section id='pdo.class.PDOStatement'> <title><classname>PDOStatement</classname></title> <para> Represents a prepared statement and, after the statement is executed, an associated result set. </para> <section id='pdo.class.Statement.methods'> &reftitle.methods; <itemizedlist> <listitem> <para> <link linkend='function.PDOStatement-bindColumn'>bindColumn</link> - binds a PHP variable to an output column in a result set </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-bindParam'>bindParam</link> - binds a PHP variable to a parameter in the prepared statement </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-columnCount'>columnCount</link> - returns the number of columns in the result set </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-errorCode'>errorCode</link> - retrieves an error code, if any, from the statement </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-errorInfo'>errorInfo</link> - retrieves an array of error information, if any, from the statement </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-execute'>execute</link> - executes a prepared statement </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-fetch'>fetch</link> - fetches a row from a result set </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-fetchAll'>fetchAll</link> - fetches an array containing all of the rows from a result set </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-fetchSingle'>fetchSingle</link> - returns the data from the first column in a result set </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-getAttribute'>getAttribute</link> - retrieves a PDOStatement attribute </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-getColumnMeta'>getColumnMeta</link> - retrieves metadata for a column in the result set </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-rowCount'>rowCount</link> - returns the number of rows that were affected by the execution of an SQL statement </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-setAttribute'>setAttribute</link> - sets a PDOStatement attribute </para> </listitem> <listitem> <para> <link linkend='function.PDOStatement-setFetchMode'>setFetchMode</link> - sets the fetch mode for a PDOStatement </para> </listitem> </itemizedlist> </section> </section> </section> &reference.pdo.constants; </partintro> &reference.pdo.functions; </reference> <!-- 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 -->