MysqlndUhPreparedStatement
PHP Manual

MysqlndUhPreparedStatement::prepare

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::prepare — Prepare 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

例

例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"

参考


MysqlndUhPreparedStatement
PHP Manual