<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Connect to a datasource</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.odbc-commit.html">odbc_commit</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.odbc-cursor.html">odbc_cursor</a></div> <div class="up"><a href="ref.uodbc.html">ODBC Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.odbc-connect" class="refentry"> <div class="refnamediv"> <h1 class="refname">odbc_connect</h1> <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">odbc_connect</span> — <span class="dc-title">Connect to a datasource</span></p> </div> <div class="refsect1 description" id="refsect1-function.odbc-connect-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">resource</span> <span class="methodname"><strong>odbc_connect</strong></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$dsn</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$user</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$password</code></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$cursor_type</code></span> ] )</div> <p class="simpara"> The connection id returned by this functions is needed by other ODBC functions. You can have multiple connections open at once as long as they either use different db or different credentials. </p> <p class="simpara"> With some ODBC drivers, executing a complex stored procedure may fail with an error similar to: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it". Using SQL_CUR_USE_ODBC may avoid that error. Also, some drivers don't support the optional row_number parameter in <span class="function"><a href="function.odbc-fetch-row.html" class="function">odbc_fetch_row()</a></span>. SQL_CUR_USE_ODBC might help in that case, too. </p> </div> <div class="refsect1 parameters" id="refsect1-function.odbc-connect-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">dsn</code></em></span> <dd> <p class="para"> The database source name for the connection. Alternatively, a DSN-less connection string can be used. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">user</code></em></span> <dd> <p class="para"> The username. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">password</code></em></span> <dd> <p class="para"> The password. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">cursor_type</code></em></span> <dd> <p class="para"> This sets the type of cursor to be used for this connection. This parameter is not normally needed, but can be useful for working around problems with some ODBC drivers. </p> <span class="simpara"> The following constants are defined for cursortype: </span> <p class="para"> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> SQL_CUR_USE_IF_NEEDED </span> </li> <li class="listitem"> <span class="simpara"> SQL_CUR_USE_ODBC </span> </li> <li class="listitem"> <span class="simpara"> SQL_CUR_USE_DRIVER </span> </li> </ul> </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.odbc-connect-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns an ODBC connection or (<strong><code>FALSE</code></strong>) on error. </p> </div> <div class="refsect1 examples" id="refsect1-function.odbc-connect-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-891"> <p><strong>Example #1 DSN-less connections</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// Microsoft SQL Server using the SQL Native Client 10.0 ODBC Driver - allows connection to SQL 7, 2000, 2005 and 2008<br /></span><span style="color: #0000BB">$connection </span><span style="color: #007700">= </span><span style="color: #0000BB">odbc_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"Driver={SQL Server Native Client 10.0};Server=</span><span style="color: #0000BB">$server</span><span style="color: #DD0000">;Database=</span><span style="color: #0000BB">$database</span><span style="color: #DD0000">;"</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 /><br /></span><span style="color: #FF8000">// Microsoft Access<br /></span><span style="color: #0000BB">$connection </span><span style="color: #007700">= </span><span style="color: #0000BB">odbc_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"Driver={Microsoft Access Driver (*.mdb)};Dbq=</span><span style="color: #0000BB">$mdbFilename</span><span style="color: #DD0000">"</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 /><br /></span><span style="color: #FF8000">// Microsoft Excel<br /></span><span style="color: #0000BB">$excelFile </span><span style="color: #007700">= </span><span style="color: #0000BB">realpath</span><span style="color: #007700">(</span><span style="color: #DD0000">'C:/ExcelData.xls'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$excelDir </span><span style="color: #007700">= </span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #0000BB">$excelFile</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$connection </span><span style="color: #007700">= </span><span style="color: #0000BB">odbc_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=</span><span style="color: #0000BB">$excelFile</span><span style="color: #DD0000">;DefaultDir=</span><span style="color: #0000BB">$excelDir</span><span style="color: #DD0000">" </span><span style="color: #007700">, </span><span style="color: #DD0000">''</span><span style="color: #007700">, </span><span style="color: #DD0000">''</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 seealso" id="refsect1-function.odbc-connect-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member">For persistent connections: <span class="function"><a href="function.odbc-pconnect.html" class="function" rel="rdfs-seeAlso">odbc_pconnect()</a> - Open a persistent database connection</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.odbc-commit.html">odbc_commit</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.odbc-cursor.html">odbc_cursor</a></div> <div class="up"><a href="ref.uodbc.html">ODBC Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>