表最后更新。 php mysqli

时间:2012-07-20 10:10:45

标签: php mysqli

我正在尝试执行以下mysqli语句:

  

显示表状态'问题'

我想遍历结果并查找并返回Update_time的值。

我在网上找到了一些例子,但无法让它们在我的PHP脚本中运行。

我的其他PHP函数遵循以下格式,我希望此函数与之匹配。

public function getQuestionsSections() {
 $stmt = mysqli_prepare($this->connection,
      "SELECT DISTINCT
          QUESTIONS.SECTION
       FROM QUESTIONS");     

  $this->throwExceptionOnError();

  mysqli_stmt_execute($stmt);
  $this->throwExceptionOnError();

  $rows = array();
  mysqli_stmt_bind_result($stmt, $row->SECTION);

  while (mysqli_stmt_fetch($stmt)) {
      $rows[] = $row;
      $row = new stdClass();
      mysqli_stmt_bind_result($stmt,  $row->SECTION);
  }

  mysqli_stmt_free_result($stmt);
  mysqli_close($this->connection);

  return $rows;
}

我非常感谢编写php函数的一些帮助,因为我不是一个php程序员。

这里提出了问题的答案,

Having trouble displaying last update time of mySQL table

不幸的是,这对我不起作用。如果我们使用上面的mysqli_prepare

,那将是理想的选择

1 个答案:

答案 0 :(得分:0)

  SHOW TABLE STATUS LIKE  'QUESTIONS'

等同于

 SELECT UPDATE_TIME FROM information_schema.TABLES WHERE TABLE_NAME LIKE 'QUESTIONS'

。 您需要访问“information_schema”数据库以获取UPDATE_TIME(而不是Update_time)。

public function getStatus() {

 $con = mysqli_connect("localhost","root","password","information_schema");
 $stmt = mysqli_prepare($con ,
      "SELECT UPDATE_TIME FROM information_schema.TABLES WHERE TABLE_NAME LIKE 'QUESTIONS'");     

  mysqli_stmt_execute($stmt);

  $rows = array();
  mysqli_stmt_bind_result($stmt, $row->UPDATE_TIME );

  while (mysqli_stmt_fetch($stmt)) {
      $rows[] = $row;
      $row = new stdClass();
      mysqli_stmt_bind_result($stmt,  $row->UPDATE_TIME );
  }

  mysqli_stmt_free_result($stmt);
  mysqli_close($con);

  return $rows;
 }

我希望它能奏效。

参考:https://dba.stackexchange.com/questions/3221/how-to-select-from-show-table-status-results