PHP MySQL查询上的资源ID#114意味着什么


What does Resource ID #114 on an PHP MySQL query mean?

我有以下代码

 mysql_select_db('example_db', $r);
 $result1 = mysql_query('SELECT content FROM `example_table` WHERE 1') or die ('"bad times an error!"' . mysql_error() . '');
 echo $result1;

返回"资源ID#114"。这是什么意思?我试图获取的信息是一个base64&json编码的twitter提要存储在数据库中。我已经尝试添加base64&json解码,但得到一个错误,说明它是一个资源而不是字符串,所以我认为它试图解析"资源ID#114",而不是实际的提要本身。

感谢您的帮助!

再看一下文档:mysql_query将返回一个资源对象。您必须使用它来提取数据。mysql_fetch_arraymysql_fetch_assoc将对您有所帮助。

注意

您不应该再使用mysql_*-函数了。它们已被弃用,>=php 5.5将不再支持它们。您应该切换到mysqli_*或PDO

资源是类似php(但不同)Streams中的自定义变量。您可以先阅读文档:

资源是一个特殊变量,包含对外部资源资源由特殊功能创建和使用。请参阅附录列出了所有这些功能和相应的资源类型。

第二个问题是,您使用的mysql_query()类似于弃用的和古老的方法。这太糟糕了。在与数据库交互时,应该使用其他(更现代的)接口(如PDO或mysqli)。

在您的示例中,$result1是一个资源,您不能这样打印它。你必须对它进行迭代:

while ($row = mysql_fetch_assoc($result1)) {
    echo $row['columnName'];
}