Execute a prepared statement

# odbc_execute

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

odbc_execute — Execute a prepared statement

### 说明

function odbc_execute(Odbc\Result `$statement`, array `$params` = []): bool

Executes a statement prepared with odbc_prepare().

### 参数

`statement`

  ODBC 结果对象 from odbc_prepare().

`params`

  Parameters in `params` will be substituted for placeholders in the prepared statement in order. Elements of this array will be converted to strings by calling this function.

  Any parameters in `params` which start and end with single quotes will be taken as the name of a file to read and send to the database server as the data for the appropriate placeholder.

  If you wish to store a string which actually begins and ends with single quotes, you must add a space or other non-single-quote character to the beginning or end of the parameter, which will prevent the parameter from being taken as a file name. If this is not an option, then you must use another mechanism to store the string, such as executing the query directly with odbc_exec()).

### 返回值

成功时返回 `true`， 或者在失败时返回 `false`。

### 更新日志

版本 | 说明
--- | ---
8.4.0 | 此函数现在返回 Odbc\Result 实例；之前返回 resource。
8.0.0 | The unused `flags` parameter was removed.

### 示例

示例 #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_prepare() - Prepares a statement for execution

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