📄 pdo.construct.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Creates a PDO instance representing a connection to a database</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="pdo.commit.html">PDO::commit</a></div> <div class="next" style="text-align: right; float: right;"><a href="pdo.errorcode.html">PDO::errorCode</a></div> <div class="up"><a href="class.pdo.html">PDO</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div><hr /><div id="pdo.construct" class="refentry"> <div class="refnamediv"> <h1 class="refname">PDO::__construct</h1> <p class="verinfo">(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)</p><p class="refpurpose"><span class="refname">PDO::__construct</span> — <span class="dc-title"> Creates a PDO instance representing a connection to a database </span></p> </div> <div class="refsect1 description"> <h3 class="title">Description</h3> <div class="constructorsynopsis dc-description"> <span class="methodname"><b><b>PDO::__construct</b></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> <div class="refsect1 parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt><span class="term">dsn</span> <dd> <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.html" 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"> <dl> <dt><span class="term">Driver invocation</span> <dd> <p class="para"> <i><tt class="parameter">dsn</tt></i> contains the full DSN. </p> </dd> </dt> <dt><span class="term">URI invocation</span> <dd> <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> <dt><span class="term">Aliasing</span> <dd> <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> </dt> </dl> </p> </dd> </dt> <dt><span class="term">username</span> <dd> <p class="para"> The user name for the DSN string. This parameter is optional for some PDO drivers. </p> </dd> </dt> <dt><span class="term">password</span> <dd> <p class="para"> The password for the DSN string. This parameter is optional for some PDO drivers. </p> </dd> </dt> <dt><span class="term">driver_options</span> <dd> <p class="para"> A key=>value array of driver-specific connection options. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns a PDO object on success. </p> </div> <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> <div class="refsect1 examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example"><p><b>Example #1 Create a PDO instance via driver invocation</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">/* Connect to an ODBC database using driver invocation */<br /></span><span style="color: #0000BB">$dsn </span><span style="color: #007700">= </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 </span><span style="color: #007700">= </span><span style="color: #DD0000">'dbuser'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$password </span><span style="color: #007700">= </span><span style="color: #DD0000">'dbpass'</span><span style="color: #007700">;<br /><br />try {<br /> </span><span style="color: #0000BB">$dbh </span><span style="color: #007700">= new </span><span style="color: #0000BB">PDO</span><span style="color: #007700">(</span><span style="color: #0000BB">$dsn</span><span style="color: #007700">, </span><span style="color: #0000BB">$user</span><span style="color: #007700">, </span><span style="color: #0000BB">$password</span><span style="color: #007700">);<br />} catch (</span><span style="color: #0000BB">PDOException $e</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">'Connection failed: ' </span><span style="color: #007700">. </span><span style="color: #0000BB">$e</span><span style="color: #007700">-></span><span style="color: #0000BB">getMessage</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> <div class="example"><p><b>Example #2 Create a PDO instance via URI invocation</b></p> <div class="example-contents"><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"><pre><div class="cdata"><pre>odbc:DSN=SAMPLE;UID=john;PWD=mypass</pre></div> </pre></div> <div class="example-contents"><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"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">/* Connect to an ODBC database using driver invocation */<br /></span><span style="color: #0000BB">$dsn </span><span style="color: #007700">= </span><span style="color: #DD0000">'uri:file:///usr/local/dbconnect'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$user </span><span style="color: #007700">= </span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$password </span><span style="color: #007700">= </span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /><br />try {<br /> </span><span style="color: #0000BB">$dbh </span><span style="color: #007700">= new </span><span style="color: #0000BB">PDO</span><span style="color: #007700">(</span><span style="color: #0000BB">$dsn</span><span style="color: #007700">, </span><span style="color: #0000BB">$user</span><span style="color: #007700">, </span><span style="color: #0000BB">$password</span><span style="color: #007700">);<br />} catch (</span><span style="color: #0000BB">PDOException $e</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">'Connection failed: ' </span><span style="color: #007700">. </span><span style="color: #0000BB">$e</span><span style="color: #007700">-></span><span style="color: #0000BB">getMessage</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> <div class="example"><p><b>Example #3 Create a PDO instance using an alias</b></p> <div class="example-contents"><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>: <div class="example-contents"><div class="cdata"><pre>[PDO]pdo.dsn.mydb="mysql:dbname=testdb;host=localhost" </pre></div></div> </p></div> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">/* Connect to an ODBC database using an alias */<br /></span><span style="color: #0000BB">$dsn </span><span style="color: #007700">= </span><span style="color: #DD0000">'mydb'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$user </span><span style="color: #007700">= </span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$password </span><span style="color: #007700">= </span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /><br />try {<br /> </span><span style="color: #0000BB">$dbh </span><span style="color: #007700">= new </span><span style="color: #0000BB">PDO</span><span style="color: #007700">(</span><span style="color: #0000BB">$dsn</span><span style="color: #007700">, </span><span style="color: #0000BB">$user</span><span style="color: #007700">, </span><span style="color: #0000BB">$password</span><span style="color: #007700">);<br />} catch (</span><span style="color: #0000BB">PDOException $e</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">'Connection failed: ' </span><span style="color: #007700">. </span><span style="color: #0000BB">$e</span><span style="color: #007700">-></span><span style="color: #0000BB">getMessage</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> </p> </div></div><hr /><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="pdo.commit.html">PDO::commit</a></div> <div class="next" style="text-align: right; float: right;"><a href="pdo.errorcode.html">PDO::errorCode</a></div> <div class="up"><a href="class.pdo.html">PDO</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -