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

PHP 基础教程

PHP 高级教程

PHP & MySQL

PHP 参考手册

PHP mysqli_refresh() 函数用法及示例

PHP MySQLi 참조 가이드

mysqli_refresh()函数刷新表或缓存,或者重置复制服务器信息。

定义和用法

mysqli_refresh()函数刷新表,刷新日志,刷新缓存。

语法

mysqli_refresh($con, options);

参数

序号参数及说明
1

con(必需)

这是一个表示与MySQL Server的连接的对象。

2

options(必需)

这表示MYSQL刷新命令的选项,您可以通过用逗号分隔它们来指定多个选项。

  • MYSQLI_REFRESH_GRANT

  • MYSQLI_REFRESH_LOG

  • MYSQLI_REFRESH_TABLES

  • MYSQLI_REFRESH_HOSTS

  • MYSQLI_REFRESH_STATUS

  • MYSQLI_REFRESH_THREADS

  • MYSQLI_REFRESH_SLAVE

  • MYSQLI_REFRESH_MASTER

返回值

PHP mysqli_refresh()函数返回一个布尔值,如果刷新操作成功,则为true,否则为false

PHP版本

此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。

온라인 예제

以下示例演示了mysqli_refresh()函数的用法(面向过程风格)-

假设我们在数据库mydb中创建了一个名为my_team的表,如下所示-

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 rows in set (0.00 sec)

온라인 예제

객체 지향 스타일에서 이 함수의 문법은 다음과 같습니다;$con->refresh();。이 함수의 객체 지향 스타일 예제는 다음과 같습니다;

<?php
   $con = new mysqli("localhost", "root", "password", "mydb");
   //players 테이블에 한 개의 기록을 삽입합니다
   $con-> query("CREATE TABLE 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 | India |
| Jonathan | Trott | SouthAfrica |
+------------+-----------+-------------+
2 rows in set (0.00 sec)

온라인 예제

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);
?>

PHP MySQLi 참조 가이드