将 MySQL 查询结果回显为字符串
在 PHP 中,常见的任务是从 MySQL 数据库检索数据并将其显示在 Web 上页。但是,当尝试回显 MySQL 查询的结果时,您可能会遇到错误“Resource id #6”,而不是预期的字符串。
了解资源 ID
当使用mysql_query()等函数执行MySQL查询时,PHP返回资源ID而不是实际的结果数据。此资源 ID 是对查询结果的临时引用,可用于进一步操作数据。
获取实际结果
检索实际结果字符串,您需要使用 fetch 函数。最常见的获取函数是 mysql_fetch_assoc(),它返回一个关联数组,其中键是列名,值是数据库行中的相应值。
示例代码
以下修改后的代码使用 mysql_fetch_assoc() 获取结果并回显“time_delta”列作为预期字符串:
<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_query() 和 mysql_fetch_assoc() 函数仍然被广泛使用,但值得注意的是,它们已被弃用并被更新、更安全的方法取代。考虑在新项目中使用 PDO 和 PDO_mysql 或 mysqli 来代替数据库访问。
以上是为什么在 PHP 中回显 MySQL 查询会返回'Resource id #6”而不是字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!