English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Функция mysqli_stmt_execute() выполняет подготовленный запрос.
mysqli_stmt_execute()Функция принимает объект подготовленного запроса (созданный с помощью функции prepare()) в качестве параметра и выполняет его, при выполнении автоматически заменяются все существующие маркеры параметров соответствующими данными.
Если после этой функции вызвать функцию mysqli_stmt_affected_rows() (в случае запросов UPDATE, DELETE, INSERT), то можно получить количество измененных строк. Точно так же, если вызвать функцию mysqli_stmt_fetch() (в случае запросов SELECT), будет возвращен результат.
mysqli_stmt_execute($stmt);
Номер | Параметры и описание |
---|---|
1 | con(обязателен) Это объект подготовленного запроса. |
Функция mysqli_stmt_execute() PHP возвращает булево значение, в случае успеха:true, в случае ошибки:false.
Эта функция была введена в PHP версии 5 и может использоваться во всех более поздних версиях.
Предположим, что мы уже создали таблицу с именем employee в базе данных MySQL, содержащую следующее:
mysql> select * from employee; +------------+--------------+------+------+--------+ | FIRST_NAME | LAST_NAME | AGE | SEX | INCOME | +------------+--------------+------+------+--------+ | Vinay | Bhattacharya | 20 | M | 16000 | | Sharukh | Sheik | 25 | M | 18300 | | Trupthi | Mishra | 24 | F | 36000 | | Sheldon | Cooper | 25 | M | 12256 | | Sarmista | Sharma | 28 | F | 15000 | +------------+--------------+------+------+--------+ 5 строк в наборе (0.00 сек)
Ниже приведен пример демонстрации:mysqli_stmt_execute()Использование функции (по процессуальному стилю), выполнение и предварительно подготовленные update-запросы:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); $stmt = mysqli_prepare($con, "UPDATE employee set INCOME=INCOME-? where INCOME >?"); mysqli_stmt_execute($stmt, "si", $reduct, $limit); $limit = 16000; $reduct = 5000; //Выполнение инструкции mysqli_stmt_execute($stmt); print("Запись обновлена......\n"); //Конец инструкции mysqli_stmt_execute($stmt); //Закрытие подключения mysqli_close($con); ?>
Вывод результатов
Запись обновлена......
После выполнения вышеуказанного кода:employeeСодержание таблицы таково:
mysql> select * from employee; +------------+--------------+------+------+--------+ | FIRST_NAME | LAST_NAME | AGE | SEX | INCOME | +------------+--------------+------+------+--------+ | Vinay | Bhattacharya | 20 | M | 16000 | | Sharukh | Sheik | 25 | M | 13300 | | Trupthi | Mishra | 24 | F | 31000 | | Sheldon | Cooper | 25 | M | 12256 | | Sarmista | Sharma | 28 | F | 15000 | +------------+--------------+------+------+--------+ 5 строк в наборе (0.00 сек)
在面向 объектной стилистики, грамматика этой функции такая:$stmt->execute();。以下是面向对象风格中此函数的示例,执行以及预处理好的insert语句
<?php //Установление соединения $con = new mysqli("localhost", "root", "password", "mydb"); //Создание таблицы $con -> query("Создать таблицу myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("Создание таблицы.....\n"); //Использование подготовленной инструкции для вставки значений в таблицу $stmt = $con->prepare("INSERT INTO myplayers values(?, ?, ?, ?, ?)"); $stmt->bind_param('issss', $id, $fname, $lname, $pob, $country); $id = 1; $fname = 'Shikhar'; $lname = 'Dhawan'; $pob = 'Delhi'; $country = 'India'; //Выполнение инструкции $stmt->execute(); //Конец инструкции $stmt->close(); //Закрытие подключения $con->close(); ?>
Вывод результатов
Создание таблицы.....
Вы также можете выполнитьmysqli_stmt_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_stmt_init($con); mysqli_stmt_prepare($stmt, '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); ?>
Вывод результатов
Создание таблицы..... Вставка записей.....