首页  >  文章  >  后端开发  >  如何在 PHP 中从 MySQL 查询结果中提取数据并避免“资源 id #”问题?

如何在 PHP 中从 MySQL 查询结果中提取数据并避免“资源 id #”问题?

Barbara Streisand
Barbara Streisand原创
2024-11-04 12:35:16646浏览

How do you extract data from a MySQL query result in PHP and avoid the

从 MySQL 查询中提取数据:克服“资源 id #”问题

在 PHP 中,使用 mysql_query() 执行 MySQL 查询时函数,结果存储为资源标识符。要从查询中访问实际数据,必须使用像 mysql_fetch_assoc() 这样的获取函数。

原始代码和问题:

<code class="php">$datos1 = mysql_query("SELECT TIMEDIFF(NOW(), '" . $row['fecha'] . "');");
echo($datos1);</code>

但是,此代码没有提供预期的结果。相反,它会打印“Resource id #6”,这表明查询结果是资源而不是实际数据。

解决方案:使用 Fetch 函数:

要从查询中提取数据,请使用像 mysql_fetch_assoc() 这样的获取函数,如下所示:

<code class="php">$result = mysql_query(sprintf("SELECT TIMEDIFF(NOW(), '%s') as time_delta", $row['fecha']));
if ($result) {
    $data = mysql_fetch_assoc($result);
    echo $data['time_delta'];
}</code>

注意:

虽然 mysql 函数仍然支持PHP,不鼓励使用它们。相反,请考虑将 PDO 与 PDO_MYSQL 或 MySQLi 结合使用,以获得更好的性能、安全性以及与未来版本的 PHP 的兼容性。

以上是如何在 PHP 中从 MySQL 查询结果中提取数据并避免“资源 id #”问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn