11111

mysqli_prepare

Пред.

След.

mysqli_prepare

(PHP 5)mysqli_prepare

(no version information, might be only in CVS)mysqli->prepare --

Prepare a SQL statement for execution

Description

Procedure style:mysqli_stmt mysqli_prepare (mysqli link, string query)

Object oriented style (method)class mysqli {

mysqli_stmt prepare (string query)

}

- mysqli_prepare() prepares the SQL query pointed to by the

null-terminated string query, and returns a statement handle to be used for

further operations on the statement. The query must consist of a single SQL statement.

Замечание:

You should not add a terminating semicolon or \g

to the statement.

- The parameter query can include one or more parameter markers

in the SQL statement by embedding question mark (?) characters

at the appropriate positions.

Замечание:

The markers are legal only in certain places in SQL statements.

For example, they are allowed in the VALUES() list of an INSERT statement

(to specify column values for a row), or in a comparison with a column in

a WHERE clause to specify a comparison value.

- However, they are not allowed for identifiers (such as table or column names),

in the select list that names the columns to be returned by a SELECT statement,

or to specify both operands of a binary operator such as the =

equal sign. The latter restriction is necessary because it would be impossible

to determine the parameter type. It's not allowed to compare marker

with NULL by ? IS NULL too.

In general, parameters are legal only in Data

Manipulation Languange (DML) statements, and not in Data Defination Language

(DDL) statements.

- The parameter markers must be bound to application variables using

mysqli_stmt_bind_param() and/or mysqli_stmt_bind_result()

before executing the statement or fetching rows.

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

- mysqli_prepare() returns a statement object or FALSE if an error occured.

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

- mysqli_stmt_execute(),

mysqli_stmt_fetch(),

mysqli_stmt_bind_param(),

mysqli_stmt_bind_result() и

mysqli_stmt_close().

Примеры

Пример 1. Object oriented style

<?php

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */

if (mysqli_connect_errno()) {

printf("Connect failed: %s\n", mysqli_connect_error());

exit();

}

$city = "Amersfoort";

/* create a prepared statement */

if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

/* bind parameters for markers */

$stmt->bind_param("s", $city);

/* execute query */

$stmt->execute();

/* bind result variables */

$stmt->bind_result($district);

/* fetch value */

$stmt->fetch();

printf("%s is in district %s\n", $city, $district);

/* close statement */

$stmt->close();

}

/* close connection */

$mysqli->close();

?>

Пример 2. Procedural style

<?php

$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */

if (mysqli_connect_errno()) {

printf("Connect failed: %s\n", mysqli_connect_error());

exit();

}

$city = "Amersfoort";

/* create a prepared statement */

if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {

/* bind parameters for markers */

mysqli_stmt_bind_param($stmt, "s", $city);

/* execute query */

mysqli_stmt_execute($stmt);

/* bind result variables */

mysqli_stmt_bind_result($stmt, $district);

/* fetch value */

mysqli_stmt_fetch($stmt);

printf("%s is in district %s\n", $city, $district);

/* close statement */

mysqli_stmt_close($stmt);

}

/* close connection */

mysqli_close($link);

?>

Результат выполнения данного примера:
Amersfoort is in district Utrecht

Пред.

Начало

След.

mysqli_ping

Уровень выше

mysqli_query 22222

Free Web Hosting