文字
分享

MysqlndUhPreparedStatement::prepare

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::preparePrepare an SQL statement for execution

说明

public bool MysqlndUhPreparedStatement::prepare ( mysqlnd_prepared_statement $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 );
?>

以上例程会输出:

1

2

3

4

5

6

7

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"

参见

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqli_stmt_prepare() - Prepare an SQL statement for execution
  • mysqli_prepare() - Prepare an SQL statement for execution