Подготавливает SQL-выражение к выполнению

# cubrid_prepare

(PECL CUBRID >= 8.3.0)

cubrid_prepare — Подготавливает SQL-выражение к выполнению

### Описание

function cubrid_prepare(resource `$conn_identifier`, string `$prepare_stmt`, int `$option` = 0): resource

Функция cubrid_prepare() компилирует SQL-выражение для данного дескриптора соединения и возвращает дескриптор, представляющий предварительно скомпилированное выражение.

Подготовленное выражение можно выполнять несколько раз, что эффективно при многократном выполнении или при обработке больших данных. Можно использовать только одно выражение, а параметр можно отметить вопросительным знаком (`?`) в соответствующем месте SQL-выражения. Добавьте параметр при привязке значения в выражении `VALUES` оператора `INSERT` или в выражении `WHERE`. Обратите внимание, что значение можно привязать к параметру только с помощью функции cubrid_bind().

### Список параметров

`conn_identifier`
  Идентификатор соединения.
`prepare_stmt`
  Подготовленный запрос.
`option`
  Опция возврата OID `CUBRID_INCLUDE_OID`.

### Возвращаемые значения

Идентификатор запроса в случае успешного выполнения или `false`, если возникла ошибка.

### Примеры

Пример #1 Пример использования cubrid_prepare()

    <?php
    $conn = cubrid_connect("localhost", 33000, "demodb");

    $sql = <<<EOD
    SELECT g.event_code, e.name
    FROM game g
    JOIN event e ON g.event_code=e.code
    WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
    EOD;

    $req = cubrid_prepare($conn, $sql);

    cubrid_bind($req, 1, 2004);
    cubrid_bind($req, 2, 2000);
    cubrid_execute($req);

    $row_num = cubrid_num_rows($req);
    printf("%d соревнований пройдут на олимпиаде 2004, но не в 2000. Например:\n\n", $row_num);

    printf("%-15s %s\n", "Код соревнования", "Название");
    printf("----------------------------\n");

    $row = cubrid_fetch_assoc($req);
    printf("%-15d %s\n", $row["event_code"], $row["name"]);
    $row = cubrid_fetch_assoc($req);
    printf("%-15d %s\n", $row["event_code"], $row["name"]);

    cubrid_disconnect($conn);
    ?>

Результат выполнения приведённого примера:

    27 соревнований пройдут на олимпиаде 2004, но не в 2000. Например:

    Код соревнования   Название
    ----------------------------
    20063           +91kg
    20070           64kg

### Смотрите также

- cubrid_execute() - Выполняет подготовленный SQL-оператор
- cubrid_bind() - Связывает переменные с подготовленным запросом

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