首页 > 数据库 > mysql教程 > 如何在 PHP 中正确回显 MySQL 时差?

如何在 PHP 中正确回显 MySQL 时差?

DDD
发布: 2024-12-17 06:31:24
原创
619 人浏览过

How to Correctly Echo a MySQL Time Difference in PHP?

在 PHP 中回显 MySQL 响应的时间差

在 PHP 中,您可以使用 mysql_query() 函数来执行 SQL 查询MySQL 数据库。但是,当您尝试 echo() 返回时间差的查询结果时,可能会遇到错误消息“Resource id #6”。

了解错误

错误“Resource id #6”表示 echo() 语句正在尝试打印资源句柄而不是实际数据。资源句柄是MySQL服务器分配给结果集的唯一标识符。

解决方案

要正确显示时间差,需要使用fetch函数从结果集中检索实际数据。有多个可用的获取函数,包括 mysql_fetch_row()、mysql_fetch_array() 和 mysql_fetch_assoc()。

以下是使用 mysql_fetch_assoc() 函数的示例:

$result = mysql_query(sprintf("SELECT TIMEDIFF(NOW(), '%s') as time_delta", $row['fecha']));
if ($result) {
  $data = mysql_fetch_assoc($result);
  echo $data['time_delta'];
}
登录后复制

注意:

mysql_* 函数已弃用,不应在新项目中使用。相反,请使用 PDO_MySQL 或 mysqli 扩展。

使用 PDO 的改进示例

$pdo = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');
$stmt = $pdo->prepare("SELECT TIMEDIFF(NOW(), :fecha) as time_delta");
$stmt->bindParam(':fecha', $row['fecha'], PDO::PARAM_STR);
$stmt->execute();
$data = $stmt->fetch(PDO::FETCH_ASSOC);
echo $data['time_delta'];
登录后复制

以上是如何在 PHP 中正确回显 MySQL 时差?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板