# odbc_prepare

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_prepare — Prepares a statement for execution

### 说明

odbc_prepare(Odbc\Connection `$odbc`, string `$query`): Odbc\Result|false

Prepares a statement for execution. ODBC 结果对象 can be used later to execute the statement with odbc_execute().

Some databases (such as IBM DB2, MS SQL Server, and Oracle) support stored procedures that accept parameters of type IN, INOUT, and OUT as defined by the ODBC specification. However, the Unified ODBC driver currently only supports parameters of type IN to stored procedures.

### 参数

`odbc`

  ODBC 连接对象，详见 odbc_connect()。

`query`

  The query string statement being prepared.

### 返回值

返回 ODBC 结果对象 if the SQL command was prepared successfully. Returns `false` on error.

### 更新日志

版本 | 说明
--- | ---
8.4.0 | `odbc` 现在需要 Odbc\Connection 实例；之前需要 resource。
8.4.0 | 此函数现在返回 Odbc\Result 实例；之前返回 resource。

### 示例

示例 #1 odbc_execute() and odbc_prepare() example

In the following code, $success will only be `true` if all three parameters to myproc are IN parameters:

`<?php
$a = 1;
$b = 2;
$c = 3;
$stmt = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>`

If you need to call a stored procedure using INOUT or OUT parameters, the recommended workaround is to use a native extension for your database (for example, oci8 for Oracle).

### 参见

- odbc_execute() - Execute a prepared statement

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open