(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhPreparedStatement::prepare — Prepara una sentencia SQL para su ejecución
$statement
, string $query
) : boolPrepara una sentencia SQL para su ejecución.
statement
Gestor de sentencias preparadas de mysqlnd. ¡No modificar! Recurso de tipo Mysqlnd Prepared Statement (solamente interno - ¡no se debe modificar!).
query
The query to be prepared.
Devuelve TRUE
en caso de éxito.
De lo contrario, devuelve FALSE
Ejemplo #1 Ejemplo de MysqlndUhPreparedStatement::prepare()
<?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);
?>
El resultado del ejemplo sería:
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"