English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основы

PHP Уровень продвинутый

PHP & MySQL

PHP Референс Мануал

Пример использования и пример функции PHP mysqli_prepare()

PHP MySQLi руководство

Функция mysqli_prepare() готовит выполнение SQL предложения

Определение и использование

Функция mysqli_prepare() готовит выполнение SQL предложения, возвращает хендлер предложения, с которым можно выполнять дальнейшие операции. Вы можете использовать в этом запросе маркеры параметров ("?") для их значения и затем выполнить.
Здесь поддерживается только одно SQL предложение,不支持多 SQL предложения.
Перед выполнением предложения необходимо использовать функцию mysqli_stmt_bind_param() для привязки параметров к占位никам. Также, перед получением результатов необходимо использовать функцию mysqli_stmt_bind_result() для привязки возвращаемых значений.

Синтаксис

mysqli_prepare($con, $str);

Параметр

НомерПараметры и описание
1

con(обязателен)

Это объект, представляющий соединение с сервером MySQL.

2

str(обязателен)

Это строковое значение,指定所需查询。

Возвратное значение

Если функция успешна, она возвращает объект statement, если нет, то возвращаетfalse.

Версия PHP

Эта функция была введена в PHP версии 5 и может использоваться во всех более поздних версиях.

Онлайн пример

Ниже приведен пример демонстрацииmysqli_prepare()Использование функции (процедурный стиль) -

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   mysqli_query($con, $query);
   print("Создание таблицы.....\n");
   $stmt = mysqli_prepare($con, "INSERT INTO Test values(?, ?");
   mysqli_stmt_bind_param($stmt, "si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("Вставка записей.....");
   //Выполнение запроса
   mysqli_stmt_execute($stmt);
   //Закрытие запроса
   mysqli_stmt_close($stmt);
   //Закрытие подключения
   mysqli_close($con);
?>

Вывод результатов

Создание таблицы.....
Вставка записей.....

Если вы хотите проверить содержимое таблицы, как показано ниже, $ minus;

mysql> select * from test;
+------+------+
| Name | AGE  |
+------+------+
| Raju | 25   |
+------+------+
1 row in set (0.00 sec)

Онлайн пример

В面向对象的 стиле, грамматика этой функции такая:$ con->prepare();。以下是面向对象风格的 пример функции This класса $ minus;

<?php
   //Установление подключения
   $con = new mysqli("localhost", "root", "password", "mydb");
   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   $con->query($query);
   print("Создание таблицы.....\n");
   $stmt = $con->prepare("INSERT INTO Test values(?, ?");
   $stmt->bind_param("si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("Вставка записей.....");
   //Выполнение запроса
   $stmt->execute();
   //Закрытие запроса
   $stmt->close();
   //Закрытие подключения
   $con->close();
?>

Вывод результатов

Создание таблицы.....
Вставка записей.....

PHP MySQLi руководство