English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP MySQLi руководство пользователя
Функция mysqli_refresh() обновляет таблицы или кэши, или перезагружает информацию о сервере репликации.
mysqli_refresh()Функция обновляет таблицы, логи и кэши.
mysqli_refresh($con, options);
Номер | Параметры и описание |
---|---|
1 | con(обязателен) Это объект подключения к серверу MySQL. |
2 | options(обязателен) Это означает опции обновления MYSQL, которые можно указать, разделив их запятыми.
|
Функция PHP mysqli_refresh() возвращает булево значение, если операция обновления успешна, тоtrue,в противном случаеfalse.
Эта функция была введена в PHP версии 5 и может использоваться во всех более поздних версиях.
Ниже приведен пример того, как это делается:mysqli_refresh()Использование функции (стиль orientated to procedure)-
Предположим, что мы создали таблицу my_team в базе данных mydb, как показано ниже-
CREATE TABLE my_team( ID INT PRIMARY KEY AUTO_INCREMENT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255) );
Ниже приведен пример, который закрывает опцию автоматического подтверждения и пытается вставить запись в эту таблицу-
<?php // Установление соединения $con = mysqli_connect("localhost", "root", "password", "mydb"); // Установка автоматического подтверждения в true mysqli_autocommit($con, False); // Вставка записи в таблицу my_team mysqli_query($con, "insert into my_team values(1, 'Shikhar', 'Dhawan', 'Delhi', 'India"); mysqli_query($con, "insert into my_team values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica"); mysqli_query($con, "insert into my_team values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')"); mysqli_query($con, "insert into my_team values(4, 'Virat', 'Kohli', 'Delhi', 'India')"); //Закрываем соединение mysqli_close($con); ?>
Поскольку мы закрыли опцию автоматического подтверждения, добавленные записи не будут сохранены в базе данных, если вы проверите содержимое таблицы в MySQL, оно будет пустым, как показано ниже:
mysql> select * from my_team; Empty set (0.00 sec)
Вы можете использовать функцию mysqli_query, чтобы обновить запись в таблице, как показано ниже:
<?php // Установление соединения $con = mysqli_connect("localhost", "root", "password", "mydb"); // Установка автоматического подтверждения в true mysqli_autocommit($con, False); // Вставка записи в таблицу my_team mysqli_query($con, "insert into my_team values(1, 'Shikhar', 'Dhawan', 'Delhi', 'India"); mysqli_query($con, "insert into my_team values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica"); mysqli_query($con, "insert into my_team values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')"); mysqli_query($con, "insert into my_team values(4, 'Virat', 'Kohli', 'Delhi', 'India')"); mysqli_refresh($con, MYSQLI_REFRESH_TABLES); //Закрываем соединение mysqli_close($con);
现在,如果您验证表my_team的内容,则可以看到插入的记录,如下所示:
mysql> select * from my_team; +----+------------+------------+----------------+-------------+ | ID | First_Name | Last_Name | Place_Of_Birth | Country | +----+------------+------------+----------------+-------------+ | 1 | Shikhar | Dhawan | Delhi | India | | 2 | Jonathan | Trott | CapeTown | SouthAfrica | | 3 | Kumara | Sangakkara | Matale | Srilanka | | 4 | Virat | Kohli | Delhi | India | +----+------------+------------+----------------+-------------+ 4 строк в наборе (0.00 сек)
В стилистике объектно-ориентированного программирования грамматика этой функции такая:$con->refresh();。Вот пример этой функции в стилистике объектно-ориентированного программирования;
<?php $con = new mysqli("localhost", "root", "password", "mydb"); //Вставить одну запись в таблицу players $con->query("Создать таблицу IF NOT EXISTS players(First_Name VARCHAR(255), Last_Name VARCHAR(255), Country VARCHAR(255))"); //Устанавливаем автоматическую транзакцию в false $con->autocommit(FALSE); $con->query("insert into players values('Shikhar', 'Dhawan', 'India')"); $con->query("insert into players values('Jonathan', 'Trott', 'SouthAfrica')"); //Обновление таблиц $con->refresh(MYSQLI_REFRESH_TABLES); //Закрываем соединение $res = $con -> close(); ?>
Результат вывода
Data Created......
Если вы наблюдаете за содержимым таблицы базы данных, вы можете увидеть вставленные записи, как показано ниже:
mysql> select * from players; +------------+-----------+-------------+ | First_Name | Last_Name | Country | +------------+-----------+-------------+ | Shikhar | Dhawan | Индия | | Jonathan | Trott | Южная Африка | +------------+-----------+-------------+ 2 строк в наборе (0.00 сек)
Пример использования mysqli_refresh
<?php $connection_mysql = mysqli_connect("localhost", "username", "password", "db"); if (mysqli_connect_errno($connection_mysql)){ echo "Подключение к MySQL не удалось: " . mysqli_connect_error(); } mysqli_refresh($connection_mysql, MYSQLI_REFRESH_LOG); mysqli_close($connection_mysql); ?>