English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Функция 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 версии 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(); ?>
Вывод результатов
Создание таблицы..... Вставка записей.....