- skip to content

# Database Abstraction Layer

### User Tools

- Login

### Site Tools

- Recent changes
- Media Manager
- Sitemap

### Sidebar

##### Resources

- Reference Manual
- User Guide
- The Data Dictionary
- ADOdb-xmlschema
- ADOdb Active Record
- Performance Monitoring
- Date/Time Library
- Session Management Library
- Unsupported Addons
- Coding Standards

##### Supported Databases

- Access
- ADO
- CSV
- Firebird
- Frontbase
- IBM DB2
- Informix
- Interbase
- LDAP
- Microsoft SQL Server
- MySQL
- Netezza
- ODBC
- ODBTP
- Oracle
- PDO
- Postgresql
- SAP ADS
- SAP ASE
- SAP Maxdb
- SAP Sqlanywhere
- Sqlite
- Sybase
- Plain Text
- Visual Foxpro

##### Other

- Feature Comparison Matrix
- Connection Matrix
- Include File Guide

v5:reference:connection:prepare

# prepare

Support for this function is limited. See the feature compatibility matrix

##### See Also

preparesp
execute for an explanation of the bind variables

##### Syntax

    mixed prepare (
        string $sql
    )

## Description

The method `prepare()` prepares an SQL statement.

- If the database supports prepared statements and the statement is valid the method return a resource
- If the database supports prepared statements and the statement is invalid the method returns false.
- If the database does not support prepared statements, the method returns a string containing the SQL statement (see below).

## Usage

    /*
     * Connection to Oracle database
    */

    $handle = $db->prepare('SELECT * FROM customers WHERE customer_no=?');

    $bindVariables = array(0=>100);

    /*
    * Send an array to execute
    */
    $result = $db->execute(array($handle,$bindVariables));

For compatibility purposes, if the database does not support prepared statements, the SQL statement is returned into the `$handle` variable. When sent to the `execute()` function, The statement will be parsed to include the variables, and the statement will execute the same as if passed without parameters, and as if the DBMS supported prepared statements.

v5/reference/connection/prepare.txt · Last modified: 2016/01/16 16:41 by mnewnham

### Page Tools

- Show pagesource
- Old revisions
- Backlinks
- Rename Page
- Back to top