©
This document uses PHP Chinese website manual Release
(PECL CUBRID >= 8.3.0)
cubrid_prepare — Prepare a SQL statement for execution
$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 ( $req , 1 , 2004 );
cubrid_bind ( $req , 2 , 2000 );
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