downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Our source is open

The syntax highlighted source is automatically generated by PHP from the plaintext script. If you're interested in what's behind the several functions we used, you can always take a look at the source of the following files:

Of course, if you want to see the source of this page, we have it available. You can also browse the SVN repository for this website on svn.php.net.

Source of: /manual/en/pdo.construct.php

<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once
dirname(__FILE__) ."/toc/class.pdo.inc";
$setup = array (
 
'home' =>
  array (
   
0 => 'index.php',
   
1 => 'PHP Manual',
  ),
 
'head' =>
  array (
   
0 => 'UTF-8',
   
1 => 'en',
  ),
 
'this' =>
  array (
   
0 => 'pdo.construct.php',
   
1 => 'PDO::__construct',
  ),
 
'up' =>
  array (
   
0 => 'class.pdo.php',
   
1 => 'The PDO class',
  ),
 
'prev' =>
  array (
   
0 => 'pdo.commit.php',
   
1 => 'PDO::commit',
  ),
 
'next' =>
  array (
   
0 => 'pdo.errorcode.php',
   
1 => 'PDO::errorCode',
  ),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);

manual_header();
?>
<div id="pdo.construct" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">PDO::__construct</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.1.0, PECL pdo &gt;= 0.1.0)</p><p class="refpurpose"><span class="refname">PDO::__construct</span> &mdash; <span class="dc-title">
   Creates a PDO instance representing a connection to a database
  </span></p>

 </div>
 <a name="pdo.construct.description"></a><div class="refsect1 description">
  <h3 class="title">Description</h3>
  <div class="constructorsynopsis dc-description">
    <span class="methodname"><b>PDO::__construct</b></span>
    ( <span class="methodparam"><span class="type">string</span> <tt class="parameter">$dsn</tt></span>
   [, <span class="methodparam"><span class="type">string</span> <tt class="parameter">$username</tt></span>
   [, <span class="methodparam"><span class="type">string</span> <tt class="parameter">$password</tt></span>
   [, <span class="methodparam"><span class="type">array</span> <tt class="parameter">$driver_options</tt></span>
  ]]] )</div>

  <p class="para rdfs-comment">
   Creates a PDO instance to represent a connection to the requested
   database.
  </p>
 </div>

 <a name="pdo.construct.parameters"></a><div class="refsect1 parameters">
  <h3 class="title">Parameters</h3>
  <p class="para">
   </p><dl>

    <dt class="varlistentry">
<span class="term">dsn</span>

     </dt><dd class="listitem">

      <p class="para">
       The Data Source Name, or DSN, contains the information required to
       connect to the database.
      </p>
      <p class="para">
       In general, a DSN consists of the PDO driver name, followed by a colon,
       followed by the PDO driver-specific connection syntax. Further
       information is available from the <a href="pdo.drivers.php" class="link">PDO
       driver-specific documentation</a>.
      </p>
      <p class="para">
       The <i><tt class="parameter">dsn</tt></i>
 parameter supports three
       different methods of specifying the arguments required to create
       a database connection:
      </p>
      <p class="para">
       </p><dl>

        <dt class="varlistentry">
<span class="term">Driver invocation</span>

         </dt><dd class="listitem">

          <p class="para">
           <i><tt class="parameter">dsn</tt></i>
 contains the full DSN.
          </p>
         </dd>

       
        <dt class="varlistentry">
<span class="term">URI invocation</span>

         </dt><dd class="listitem">

          <p class="para">
           <i><tt class="parameter">dsn</tt></i>
 consists of <strong class="userinput"><code>uri:</code></strong>

           followed by a URI that defines the location of a file containing
           the DSN string. The URI can specify a local file or a remote URL.
          </p>
          <p class="para"><strong class="userinput"><code>uri:file:///path/to/dsnfile</code></strong>
</p>
         </dd>

       
        <dt class="varlistentry">
<span class="term">Aliasing</span>

         </dt><dd class="listitem">

          <p class="para">
           <i><tt class="parameter">dsn</tt></i>
 consists of a name
           <i><tt class="parameter">name</tt></i>
 that maps to
           <code class="code">pdo.dsn.<i><tt class="parameter">name</tt></i>
</code> in <var class="filename">php.ini</var>
           defining the DSN string.
          </p>
          <blockquote><p><b class="note">Note</b>:
          
            The alias must be defined in <var class="filename">php.ini</var>, and not <var class="filename">.htaccess</var> or <var class="filename">httpd.conf</var>
           <br />
          </p></blockquote>
         </dd>

       
       </dl>
<p>
      </p>
     </dd>

   
    <dt class="varlistentry">
<span class="term">username</span>

     </dt><dd class="listitem">

      <p class="para">
       The user name for the DSN string. This parameter is optional for
       some PDO drivers.
      </p>
     </dd>

   
    <dt class="varlistentry">
<span class="term">password</span>

     </dt><dd class="listitem">

      <p class="para">
       The password for the DSN string. This parameter is optional for
       some PDO drivers.
      </p>
     </dd>

   
    <dt class="varlistentry">
<span class="term">driver_options</span>

     </dt><dd class="listitem">

      <p class="para">
       A key=&gt;value array of driver-specific connection options.
      </p>
     </dd>

   
   </dl>
<p>
  </p>
 </div>


 <a name="pdo.construct.returnvalues"></a><div class="refsect1 returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="para">
   Returns a PDO object on success.
  </p>
 </div>


 <a name="pdo.construct.errors"></a><div class="refsect1 errors">
  <h3 class="title">Errors/Exceptions</h3>
  <p class="para">
   <b>PDO::__construct()</b> throws a PDOException if the attempt
   to connect to the requested database fails.
  </p>
 </div>


 <a name="pdo.construct.examples"></a><div class="refsect1 examples">
  <h3 class="title">Examples</h3>
  <p class="para">
   </p><div class="example"><p><b>Example #1 Create a PDO instance via driver invocation</b></p>
    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/*&nbsp;Connect&nbsp;to&nbsp;an&nbsp;ODBC&nbsp;database&nbsp;using&nbsp;driver&nbsp;invocation&nbsp;*/<br /></span><span style="color: #0000BB">$dsn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'mysql:dbname=testdb;host=127.0.0.1'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'dbuser'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$password&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'dbpass'</span><span style="color: #007700">;<br /><br />try&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$dbh&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">PDO</span><span style="color: #007700">(</span><span style="color: #0000BB">$dsn</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$password</span><span style="color: #007700">);<br />}&nbsp;catch&nbsp;(</span><span style="color: #0000BB">PDOException&nbsp;$e</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'Connection&nbsp;failed:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getMessage</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div><p>
   </p><div class="example"><p><b>Example #2 Create a PDO instance via URI invocation</b></p>
    <div class="example-contents para"><p>
     The following example assumes that the file
     <var class="filename">/usr/local/dbconnect</var> exists with file permissions
     that enable PHP to read the file. The file contains the PDO DSN to
     connect to a DB2 database through the PDO_ODBC driver:
    </p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
odbc:DSN=SAMPLE;UID=john;PWD=mypass
</pre></div>
    </div>
    <div class="example-contents para"><p>
     The PHP script can then create a database connection by simply
     passing the <i>uri:</i> parameter and pointing to
     the file URI:
    </p></div>
    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/*&nbsp;Connect&nbsp;to&nbsp;an&nbsp;ODBC&nbsp;database&nbsp;using&nbsp;driver&nbsp;invocation&nbsp;*/<br /></span><span style="color: #0000BB">$dsn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'uri:file:///usr/local/dbconnect'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$password&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /><br />try&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$dbh&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">PDO</span><span style="color: #007700">(</span><span style="color: #0000BB">$dsn</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$password</span><span style="color: #007700">);<br />}&nbsp;catch&nbsp;(</span><span style="color: #0000BB">PDOException&nbsp;$e</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'Connection&nbsp;failed:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getMessage</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div><p>
   </p><div class="example"><p><b>Example #3 Create a PDO instance using an alias</b></p>
    <div class="example-contents para"><p>
     The following example assumes that <var class="filename">php.ini</var> contains the following
     entry to enable a connection to a MySQL database using only the
     alias <i>mydb</i>:
    </p></div>
    <div class="example-contents programlisting"><br />
[PDO]<br />
pdo.dsn.mydb=&quot;mysql:dbname=testdb;host=localhost&quot;<br />
    </div>

    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/*&nbsp;Connect&nbsp;to&nbsp;an&nbsp;ODBC&nbsp;database&nbsp;using&nbsp;an&nbsp;alias&nbsp;*/<br /></span><span style="color: #0000BB">$dsn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'mydb'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$password&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /><br />try&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$dbh&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">PDO</span><span style="color: #007700">(</span><span style="color: #0000BB">$dsn</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$password</span><span style="color: #007700">);<br />}&nbsp;catch&nbsp;(</span><span style="color: #0000BB">PDOException&nbsp;$e</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'Connection&nbsp;failed:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getMessage</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div><p>
  </p>
 </div>

</div><?php manual_footer(); ?>
 
show source | credits | sitemap | contact | advertising | mirror sites