©
本文档使用 PHP中文网手册 发布
(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution
$statement
, string $query
)Prepare an SQL statement for execution.
statement
Mysqlnd prepared statement handle. Do not modify! Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!).
query
The query to be prepared.
Returns TRUE
on success.
Otherwise, returns FALSE
Example #1 MysqlndUhPreparedStatement::prepare() example
<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
public function prepare ( $res , $query ) {
printf ( "%s(%s)\n" , __METHOD__ , var_export ( func_get_args (), true ));
$query = "SELECT 'No more you-know-what-I-mean for lunch, please' AS _msg FROM DUAL" ;
$ret = parent :: prepare ( $res , $query );
printf ( "%s returns %s\n" , __METHOD__ , var_export ( $ret , true ));
var_dump ( $ret );
return $ret ;
}
}
mysqlnd_uh_set_statement_proxy (new stmt_proxy ());
$mysqli = new mysqli ( "localhost" , "root" , "" , "test" );
$stmt = $mysqli -> prepare ( "SELECT 'Labskaus' AS _msg FROM DUAL" );
$stmt -> execute ();
$msg = NULL ;
$stmt -> bind_result ( $msg );
$stmt -> fetch ();
var_dump ( $msg );
?>
以上例程会输出:
stmt_proxy::prepare(array ( 0 => NULL, 1 => 'SELECT \'Labskaus\' AS _msg FROM DUAL', )) stmt_proxy::prepare returns true bool(true) string(46) "No more you-know-what-I-mean for lunch, please"