-3

我有以下代码

 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”而不是实际的提要本身。

任何帮助表示赞赏!

4

2 回答 2

0

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

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

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

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

while ($row = mysql_fetch_assoc($result1)) {
    echo $row['columnName'];
}
于 2013-08-11T20:54:08.577 回答
0

再看一下文档:mysql_query将返回一个资源对象。您必须使用它来提取数据。mysql_fetch_array或者mysql_fetch_assoc会帮助你。

注意

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

于 2013-08-11T20:40:29.470 回答