PHP Mysql获取表上次更新时间和日期[重复]

Posted

技术标签:

【中文标题】PHP Mysql获取表上次更新时间和日期[重复]【英文标题】:PHP Mysql Get Table Last Updated Time & Date [duplicate] 【发布时间】:2020-10-18 01:18:04 【问题描述】:

我想在 mysql 表使用最新更改更新时显示最后更新时间和日期,我得到以下 php 代码在 PHP 5 中工作,但不是在最新版本 PHP 7 中,并返回一个错误,在网页上没有显示任何内容, 试图修复它但无济于事,有人知道出了什么问题吗?

   mysql_connect("localhost", "root", "password") or die(mysql_error());
   mysql_select_db("information_schema") or die(mysql_error());
     $query1 = "SELECT 'UPDATE_TIME' FROM 'TABLES' WHERE 'TABLE_SCHEMA' LIKE 'demo' AND 'TABLE_NAME' LIKE 'usc'";
     $result1 = mysql_query($query1) or die(mysql_error());
      while($row = mysql_fetch_array($result1)) 
       echo "<font color='red'>&nbsp; (Last update : ".$row['UPDATE_TIME'].")</font>";

【问题讨论】:

你好。首先,在您的代码中,您可以看到它容易受到 SQL 注入 link 的攻击。使用准备好的语句来避免 SQL 注入很重要。那么,在这段代码中,TABLE_SCHEMATABLE_NAME 是来自 TABLES 的列吗?通常,您希望每次更新此表 TABLES 时都更新 UPDATE_TIME 感谢您的意见。我得到了mysql表名'demo'和'usc';是的,我希望显示表格更新的最新时间。 您可以使用这个 php 类将您的 mysql_ 函数转换为 mysqli_ phpclasses.org/package/… 谢谢您,先生,将看看您的建议 请分享完整和准确的错误信息 【参考方案1】:

据我所知,mysql 系列函数在 PHP 7 中已被删除。您只能使用 mysqlipdo。我建议切换到 PDO,因为它具有更大的灵活性。请参阅mysql requirements。假设你已经过渡到 PDO,你可以使用下面的代码来实现同样的事情:

//select the appropriate database
$pdo_object->query('use information_schema');
$query1 = "SELECT 'UPDATE_TIME' FROM 'TABLES' WHERE 'TABLE_SCHEMA' LIKE 'demo' AND 'TABLE_NAME' LIKE 'usc'";
$query1 = $pdo_object->prepare($query1);
$query1->execute();
while($row = $query1->fetchAll(PDO::FETCH_ASSOC)) 
echo "<font color='red'>&nbsp; (Last update : ".$row['UPDATE_TIME'].")</font>";

上述代码还可以缓解您的代码可能面临的 MySQL 注入漏洞。

【讨论】:

谢谢您,先生,让我进一步探索您的意见,这很有用。 很高兴,如果您在设置 PDO 或其他方面需要帮助,请随时发表评论。 嗨,我需要在第一行包含 mysql_connect 吗? 正如我之前提到的,在 PHP 7 中删除了 mysql,您需要设置 PDO。有关设置的更多信息,请访问here。

以上是关于PHP Mysql获取表上次更新时间和日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何判断 MySQL 表上次更新的时间?

获取上次更新/上载文件的日期

每次 MySQL 表刷新时刷新 div [重复]

使用php从mysql数据库表创建/更新xml文件[重复]

Hive - 如何在 Hive 中跟踪和更新增量表的上次修改日期?

PHP将语句插入XAMPP MySQL数据库不会导致表更新[重复]