在 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中文网其他相关文章!