【问题标题】:Getting Resource id #3 Error in MySql在 MySql 中获取资源 id #3 错误
【发布时间】:2013-07-02 04:16:15
【问题描述】:

我运行了这段代码,但出现了 Resource id #3 错误,它本应显示完整的电影表。

mysql_connect("localhost", "root", "password") or die(mysql_error()); 
mysql_select_db("treehouse_movie_db") or die(mysql_error()); 
$data = mysql_query("SELECT * FROM movies") 
or die(mysql_error()); 
echo $data;

【问题讨论】:

标签: php mysql database echo


【解决方案1】:

这不是error 您的查询正在执行,您正在从mysql_query() 获取适当的资源,因为它应该被返回。

要获得回复,您必须使用 mysql_fetch_array()mysql_fetch_assoc()

mysql_connect("localhost", "root", "password") or die(mysql_error()); 
mysql_select_db("treehouse_movie_db") or die(mysql_error()); 
$data = mysql_query("SELECT * FROM movies") 
or die(mysql_error()); 

while($row = mysql_fetch_assoc($data))
{
   print_r($row);
}

建议: mysql_* 不再维护。尝试切换到mysqli_*PDO

【讨论】:

    【解决方案2】:

    您没有收到错误,MySQL API 只是按照您的要求执行:回显$data 的内容,此时这是一个 MySQL 查询资源。扩展代码以实际检索结果:

    while($row = mysql_fetch_object($data))
        var_dump($row);
    

    你会看到输出。

    注意mysql_* API is deprecated since PHP 5.5 by the way

    【讨论】:

      【解决方案3】:

      Resourse id #3表示$data变量是用来打开资源的,不是错误。
      如果您要打开其他资源(例如文件),请使用:

      $var=fopen('myfile','a+');
      echo $var;
      

      结果你会得到Resourse id $4

      因此,要获得所需的输出,您需要使用循环。
      here 中有描述。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-08
        • 1970-01-01
        • 2012-11-14
        • 2011-10-31
        • 1970-01-01
        • 2021-09-23
        相关资源
        最近更新 更多