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'> (Last update : ".$row['UPDATE_TIME'].")</font>";
【问题讨论】:
你好。首先,在您的代码中,您可以看到它容易受到 SQL 注入 link 的攻击。使用准备好的语句来避免 SQL 注入很重要。那么,在这段代码中,TABLE_SCHEMA 和 TABLE_NAME 是来自 TABLES 的列吗?通常,您希望每次更新此表 TABLES 时都更新 UPDATE_TIME? 感谢您的意见。我得到了mysql表名'demo'和'usc';是的,我希望显示表格更新的最新时间。 您可以使用这个 php 类将您的mysql_
函数转换为 mysqli_
phpclasses.org/package/…
谢谢您,先生,将看看您的建议
请分享完整和准确的错误信息
【参考方案1】:
据我所知,mysql 系列函数在 PHP 7 中已被删除。您只能使用 mysqli 和 pdo。我建议切换到 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'> (Last update : ".$row['UPDATE_TIME'].")</font>";
上述代码还可以缓解您的代码可能面临的 MySQL 注入漏洞。
【讨论】:
谢谢您,先生,让我进一步探索您的意见,这很有用。 很高兴,如果您在设置 PDO 或其他方面需要帮助,请随时发表评论。 嗨,我需要在第一行包含 mysql_connect 吗? 正如我之前提到的,在 PHP 7 中删除了 mysql,您需要设置 PDO。有关设置的更多信息,请访问here。以上是关于PHP Mysql获取表上次更新时间和日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章