<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

 <reference xml:id="ref.pdo-sqlite" xmlns="http://docbook.org/ns/docbook">
  <?phpdoc extension-membership="bundledexternal" ?>
  <title>SQLite Functions (PDO_SQLITE)</title>
  <titleabbrev>SQLite (PDO)</titleabbrev>
  <partintro>

   <section xml:id="pdo-sqlite.intro">
   &reftitle.intro;
    <para>
     PDO_SQLITE is a driver that implements the <link linkend="intro.pdo">PHP
     Data Objects (PDO) interface</link> to enable access to SQLite 3 databases.
    </para>
    <para>
     In PHP 5.1, the <link linkend="ref.sqlite">SQLite</link> extension also
     provides a driver for SQLite 2 databases; while it is not technically a
     part of the PDO_SQLITE driver, it behaves similarly, so it is
     documented alongside it.  The SQLite 2 driver for PDO is provided
     primarily to make it easier to import legacy SQLite 2 database files into
     an application that uses the faster, more efficient SQLite 3 driver.  As
     a result, the SQLite 2 driver is not as feature-rich as the SQLite 3
     driver.
    </para>
    <note>
     <para>
      PDO_SQLITE allows using strings apart from streams together with
      <constant>PDO::PARAM_LOB</constant>.
     </para>
    </note>
   </section>

   &reference.pdo-sqlite.configure;

  </partintro>

  <refentry xml:id="ref.pdo-sqlite.connection">
   <refnamediv>
    <refname>PDO_SQLITE DSN</refname>
    <refpurpose>Connecting to SQLite databases</refpurpose>
   </refnamediv>

   <refsect1 role="description">
    &reftitle.description;
    <para>
     The PDO_SQLITE Data Source Name (DSN) is composed of the following elements:
     <variablelist>
      <varlistentry>
       <term>DSN prefix (SQLite 3)</term>
       <listitem>
        <para>
         The DSN prefix is <userinput>sqlite:</userinput>.
         <itemizedlist>
          <listitem>
           <para>
            To access a database on disk, append the absolute path to the
            DSN prefix.
           </para>
          </listitem>
          <listitem>
           <para>
            To create a database in memory, append <literal>:memory:</literal>
            to the DSN prefix.
           </para>
          </listitem>
         </itemizedlist>
        </para>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>DSN prefix (SQLite 2)</term>
       <listitem>
        <para>
         The <link linkend="ref.sqlite">SQLite</link> extension in
         PHP 5.1 provides a PDO driver that supports accessing and creating SQLite 2
         databases.  This enables you to access databases you may have created
         with the <link linkend="ref.sqlite">SQLite</link> extension in
         previous versions of PHP.
        </para>
        <note>
         <para>
          The sqlite2 driver is only available in PHP 5.1.x if you have enabled
          both PDO and ext/sqlite.  It is not currently available via PECL.
         </para>
        </note>
        <para>
         The DSN prefix for connecting to SQLite 2 databases is
         <userinput>sqlite2:</userinput>.
         <itemizedlist>
          <listitem>
           <para>
            To access a database on disk, append the absolute path to the
            DSN prefix.
           </para>
          </listitem>
          <listitem>
           <para>
            To create a database in memory, append <literal>:memory:</literal>
            to the DSN prefix.
           </para>
          </listitem>
         </itemizedlist>
        </para>
       </listitem>
      </varlistentry>

     </variablelist>
    </para>
   </refsect1>
   <refsect1 role="examples">
    &reftitle.examples;
    <para>
     <example>
      <title>PDO_SQLITE DSN examples</title>
      <para>
       The following examples show PDO_SQLITE DSN for connecting to
       SQLite databases:
       <programlisting>
<![CDATA[
sqlite:/opt/databases/mydb.sq3
sqlite::memory:
sqlite2:/opt/databases/mydb.sq2
sqlite2::memory:
]]>
       </programlisting>
      </para>
     </example>
    </para>
   </refsect1>
  </refentry>

 &reference.pdo-sqlite.entities.PDO;

 </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:"~/.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
-->