Ready to get started?

Download a free trial of the Basecamp ODBC Driver to get started:

 Download Now

Learn more:

Basecamp Icon Basecamp ODBC Driver

The Basecamp ODBC Driver is a powerful tool that allows you to connect with live Basecamp data, directly from any applications that support ODBC connectivity.

Access Basecamp like you would a database - read, write, and update Projects, People, Documents, Messages, etc. through a standard ODBC Driver interface.

Natively Connect to Basecamp Data in PHP



The CData ODBC driver for Basecamp enables you to create PHP applications with connectivity to Basecamp data. Leverage the native support for ODBC in PHP.

Drop the CData ODBC Driver for Basecamp into your LAMP or WAMP stack to build Basecamp-connected Web applications. This article shows how to use PHP's ODBC built-in functions to connect to Basecamp data, execute queries, and output the results.

Configure a DSN

If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.

Basecamp uses basic or OAuth 2.0 authentication. To use basic authentication you will need the user and password that you use for logging in to Basecamp. To authenticate to Basecamp via OAuth 2.0, you will need to obtain the OAuthClientId, OAuthClientSecret, and CallbackURL connection properties by registering an app with Basecamp.

See the Getting Started section in the help documentation for a connection guide.

Additionally, you will need to specify the AccountId connection property. This can be copied from the URL after you log in.

Establish a Connection

Open the connection to Basecamp by calling the odbc_connect or odbc_pconnect methods. To close connections, use odbc_close or odbc_close_all.

$conn = odbc_connect("CData ODBC Basecamp Source","user","password");

Connections opened with odbc_connect are closed when the script ends. Connections opened with the odbc_pconnect method are still open after the script ends. This enables other scripts to share that connection when they connect with the same credentials. By sharing connections among your scripts, you can save system resources, and queries execute faster.

$conn = odbc_pconnect("CData ODBC Basecamp Source","user","password"); ... odbc_close($conn); //persistent connection must be closed explicitly

Create Prepared Statements

Create prepared statements and parameterized queries with the odbc_prepare function.

$query = odbc_prepare($conn, "SELECT * FROM Projects WHERE Drafts = ?");

Execute Queries

Execute prepared statements with odbc_execute.

$conn = odbc_connect("CData ODBC Basecamp Source","user","password"); $query = odbc_prepare($conn, "SELECT * FROM Projects WHERE Drafts = ?"); $success = odbc_execute($query, array('True'));

Execute nonparameterized queries with odbc_exec.

$conn = odbc_connect("CData ODBC Basecamp Source","user","password"); $query = odbc_exec($conn, "SELECT Name, DocumentsCount FROM Projects");

Process Results

Access a row in the result set as an array with the odbc_fetch_array function.

$conn = odbc_connect("CData ODBC Basecamp data Source","user","password"); $query = odbc_exec($conn, "SELECT Name, DocumentsCount FROM Projects"); while($row = odbc_fetch_array($query)){ echo $row["Name"] . "\n"; }

Display the result set in an HTML table with the odbc_result_all function.

$conn = odbc_connect("CData ODBC Basecamp data Source","user","password"); $query = odbc_prepare($conn, "SELECT * FROM Projects WHERE Drafts = ?"); $success = odbc_execute($query, array('True')); if($success) odbc_result_all($query);

More Example Queries

You will find complete information on the driver's supported SQL in the help documentation. The code examples above are Basecamp-specific adaptations of the PHP community documentation for all ODBC functions.