我有以下代码
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_array
或mysql_fetch_assoc
将对您有所帮助。
注意:
您不应该再使用mysql_*-函数了。它们已被弃用,>=php 5.5将不再支持它们。您应该切换到mysqli_*或PDO
资源是类似php(但不同)Streams中的自定义变量。您可以先阅读文档:
资源是一个特殊变量,包含对外部资源资源由特殊功能创建和使用。请参阅附录列出了所有这些功能和相应的资源类型。
第二个问题是,您使用的mysql_query()类似于弃用的和古老的方法。这太糟糕了。在与数据库交互时,应该使用其他(更现代的)接口(如PDO或mysqli)。
在您的示例中,$result1
是一个资源,您不能这样打印它。你必须对它进行迭代:
while ($row = mysql_fetch_assoc($result1)) {
echo $row['columnName'];
}