4

我运行了这段代码,我得到了一个 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;
4

3 回答 3

9

这不是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

于 2013-07-02T04:20:25.723 回答
0

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

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

你会看到输出。

请注意,顺便说一下,自 PHP 5.5 起不推荐使用 mysql_* API

于 2013-07-02T04:18:35.323 回答
0

Resourse id #3表示该$data变量用于打开资源,这不是错误。
如果您要打开另一个资源,例如文件,请使用:

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

你会得到Resourse id $4结果。

因此,要获得您想要的输出,您需要使用循环。
它在此处进行了描述。

于 2021-05-13T06:53:15.350 回答