PHP MySQL查询的资源ID#114是什么意思?

时间:2013-08-11 20:34:56

标签: php mysql

我有以下代码

 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编码存储在DB中的twitter feed。我试过添加base64& json解码,但得到一个错误,说明它是一个资源而不是一个字符串,所以我假设它试图解析“资源ID#114”而不是实际的feed本身。

感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

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

观看

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

答案 1 :(得分:0)

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

  

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

第二个问题是你正在使用mysql_query(),比如弃用和古老的方法。这真是太糟了。在与db交互时,您应该使用其他(更现代的)接口(如PDO或mysqli)。

在您的示例中,$result1是一种资源,您不能像那样打印它。你必须迭代它:

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