Connect to Salesforce using PHP

Last modified: July 25, 2025

You can connect to Salesforce from PHP using Devart ODBC Driver for Salesforce.

Enable the ODBC extension

1. In the php.ini file, uncomment the extension=odbc line.

2. Restart your web server to apply the changes.

Define a connection string

An ODBC connection requires a connection string, which can either use a predefined DSN or be specified through connection string parameters (a DSN-less connection).

For information about available parameters, see Connection string parameters.

DSN connection string

You can use a connection string with a predefined DSN.

$connectionString = "DSN=your_dsn";

If you need credentials other than those used in the DSN, specify them in the connection string to override the DSN values.

$connectionString = "DSN=your_dsn;User ID=your_username;Password=your_password";

For information on configuring a DSN on specific operating systems, see instructions for Windows, macOS, or Linux.

DSN-less connection string

You can establish a connection without a DSN by specifying all necessary parameters directly in the connection string.

The following example uses OAuth 2.0 authentication.

$connectionString = "DRIVER=Devart ODBC Driver for Salesforce;Authentication=OAuth;Refresh Token=your_refresh_token";

For more information, see DSN-less connections.

Connect to Salesforce

The following PHP code demonstrates how to connect to Salesforce and fetch data using the ODBC driver.

<?php
// Define an ODBC connection string
$connectionString = "your_connection_string";

// Establish the ODBC connection
$connection = odbc_connect($connectionString);

// Check if the connection is successful
if ($connection) {
    echo "Connected to Salesforce successfully.\n";

    // Define a simple SQL query
    $sql = "SELECT Id, Name FROM Account";

    // Execute the query
    $result = odbc_exec($connection, $sql);

    // Check if the query execution was successful
    if ($result) {
        // Fetch and display the results
        echo "Query Results:\n";
        while ($row = odbc_fetch_array($result)) {
            // Print each row of the result set
            print_r($row);
        }
    } else {
        echo "Failed to execute query: " . odbc_errormsg($connection) . "\n";
    }

    // Close the connection
    odbc_close($connection);
    echo "Connection closed.\n";
} else {
    echo "Failed to connect: " . odbc_errormsg() . "\n";
}
?>