我正在尝试执行以下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
,那将是理想的选择答案 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