mysqli::stmt_init

mysqli_stmt_init

(PHP 5)

mysqli::stmt_init -- mysqli_stmt_init Инициализирует запрос и возвращает объект для использования в mysqli_stmt_prepare

Описание

Объектно-ориентированный стиль

mysqli_stmt mysqli::stmt_init ( void )

Процедурный стиль

mysqli_stmt mysqli_stmt_init ( mysqli $link )

Выделяет память и инициализирует объект запроса, который можно использовать в функции mysqli_stmt_prepare().

Замечание:

Все последующие вызовы mysqli_stmt функций вызовут ошибку, пока не будет вызвана функция mysqli_stmt_prepare().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает объект.

Смотрите также

Коментарии

you can use $stmt = $mysqli->prepare(); directly without stmt-init() . i think there is no need for stmt-init .
2014-06-08 02:58:25
http://php5.kiev.ua/manual/ru/mysqli.stmt-init.html
Автор:
stmt_init() seems to clear previous (possibly erroneous) results on the DB connection, which means you don't necessarily need to use it but it could make the code more robust.

In a PHPUnit test, I had a sequence of prepared queries on the same connection. One of them fetched a row from a SELECT but didn't keep fetching until it drained the connection, so it left some stale results. When the next query did this:

<?php
$db 
$this->getConnection()->getDbConnection();
$preparedQuery $db->prepare ($query);
?>

the prepare() call generated an error: "Could not prepare query: Commands out of sync; you can't run this command now." Changing to this:

<?php
$db 
$this->getConnection()->getDbConnection();
$preparedQuery $db->stmt_init();
$preparedQuery->prepare ($query);
?>

resolved the problem.
2016-09-01 00:32:03
http://php5.kiev.ua/manual/ru/mysqli.stmt-init.html

    Поддержать сайт на родительском проекте КГБ