MysqlndUhPreparedStatement::prepare

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::preparePrepare an SQL statement for execution

说明

public MysqlndUhPreparedStatement::prepare ( mysqlnd_prepared_statement $statement , string $query ) : bool

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($rettrue));
  
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"

参见

关注编程学问公众号