(PECL CUBRID >= 8.3.0)
cubrid_prepare — Подготавливает SQL-выражение к выполнению
$conn_identifier
, string $prepare_stmt
, int $option
= 0): resourceФункция cubrid_prepare() - это своего рода API, который представляет выражения SQL, скомпилированные ранее для данного дескриптора соединения. Этот предварительно скомпилированное SQL-выражение будет включено в функцию cubrid_prepare().
Соответственно, вы можете эффективно использовать этот оператор для многократного выполнения или для обработки больших данных. Можно использовать только один оператор, а в параметре можно указать вопросительный знак (?) в соответствующую область 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