cubrid_prepare

(PECL CUBRID >= 8.3.0)

cubrid_preparePrepare a SQL statement for execution

说明

resource cubrid_prepare ( resource $conn_identifier , string $prepare_stmt [, int $option = 0 ] )

The cubrid_prepare() function is a sort of API which represents SQL statements compiled previously to a given connection handle. This pre-compiled SQL statement will be included in the cubrid_prepare().

Accordingly, you can use this statement effectively to execute several times repeatedly or to process long data. Only a single statement can be used and a parameter may put a question mark (?) to appropriate area in the SQL statement. Add a parameter when you bind a value in the VALUES clause of INSERT statement or in the WHERE clause. Note that it is allowed to bind a value to a MARK(?) by using the cubrid_bind() function only.

参数

conn_identifier

Connection identifier.

prepare_stmt

Prepare query.

option

OID return option CUBRID_INCLUDE_OID.

返回值

Request identifier, if process is successful;

FALSE, if process is unsuccessful.

范例

Example #1 cubrid_prepare() example

<?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($req12004);
cubrid_bind($req22000);
cubrid_execute($req);

$row_num cubrid_num_rows($req);
printf("There are %d event that exits in 2004 olympic but not in 2000. For example:\n\n"$row_num);

printf("%-15s %s\n""Event_code""Event_name");
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);
?>

以上例程会输出:

There are 27 event that exits in 2004 olympic but not in 2000. For example:

Event_code      Event_name
----------------------------
20063           +91kg
20070           64kg

参见