当我将print_r()应用于PHP中的数组时,为什么会得到"资源ID#4"?

Ste*_*ven 14 php mysql arrays

可能重复:
如何从PHP中的MySql响应中"回显""资源ID#6"?

以下是代码:

$result=mysql_query("select * from choices where a_id='$taskid'")or die(mysql_error());
print_r($result);
Run Code Online (Sandbox Code Playgroud)

我得到"资源ID#4",任何想法?

我加了之后

while($row=mysql_fetch_assoc($result))
{ print_r($row); }
Run Code Online (Sandbox Code Playgroud)

我刚得到 []

怎么了?

Ken*_*ina 20

您正在尝试打印mysql 资源变量,而不是它引用的资源中包含的值.您必须首先尝试使用诸如此类的函数来提取您获得的值 mysql_fetch_assoc().

您也可以尝试mysql_fetch_array()或者mysql_fetch_row(),但我发现关联数组相当不错,因为它们允许您通过字段名称访问其值,如Mike的示例中所示.


Mik*_*e B 16

mysql_query()按照手册中的说明返回数组.使用mysql_fetch_array(),mysql_fetch_assoc()mysql_fetch_row()与您一起使用$result.有关如何操作查询结果的详细信息,请参阅上面的链接.

$result = mysql_query('SELECT * FROM table');
while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}
Run Code Online (Sandbox Code Playgroud)