php - 资源 ID #4 为什么我会得到这个?

标签 php mysql

我正在制作一个非常基本的论坛模板用于测试目的

当我创建主题并按提交时,该过程会更新数据库,但不会在屏幕上输出。为什么是这样?当我从下面的代码中回显 $result 时,为什么我会得到资源 id #4:

<?php

$host="server"; // Host name 
$username="usernamehere"; // Mysql username 
$password=""; // Mysql password 
$db_name="forum"; // Database name 
$tbl_name="question"; // Table name 

// Connect to server and select databse.
mysql_connect("$host", "$username", "")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name ORDER BY id DESC";
// OREDER BY id DESC is order result by descending

$result=mysql_query($sql);
echo $result;
?>
<html>
<body>
<table width="90%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td width="6%" align="center" bgcolor="#E6E6E6"><strong>#</strong></td>
<td width="53%" align="center" bgcolor="#E6E6E6"><strong>Topic</strong></td>
<td width="15%" align="center" bgcolor="#E6E6E6"><strong>Views</strong></td>
<td width="13%" align="center" bgcolor="#E6E6E6"><strong>Replies</strong></td>
<td width="13%" align="center" bgcolor="#E6E6E6"><strong>Date/Time</strong></td>
</tr>

<?php

// Start looping table row
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td bgcolor="#FFFFFF"><? echo $rows['id']; ?></td>
<td bgcolor="#FFFFFF"><a href="view_topic.php?id=<? echo $rows['id']; ?>"><? echo $rows['topic']; ?></a><BR></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['view']; ?></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['reply']; ?></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['datetime']; ?></td>
</tr>

<?php
// Exit looping and close connection 
}
mysql_close();
?>

<tr>
<td colspan="5" align="right" bgcolor="#E6E6E6"><a href="create_topic.php"><strong>Create New Topic</strong> </a></td>
</tr>
</table>
</body>
</html>

最佳答案

您正在获取resource id #4,因为$result是一个资源,您必须通过这种方式提取其中包含的值,

$result=mysql_query($sql);
$values = mysql_fetch_array($result);
var_dump($values);

更多关于resource variable

更新2(来自OP评论)

您正在使用字段名称打印值,在这种情况下,您必须更改为

while($rows=mysql_fetch_array($result,MYSQL_ASSOC))

或者您可以直接使用mysql_fetch_assoc() ,在你的情况下将是

while($rows=mysql_fetch_assoc($result)){
      echo $rows['id'];
}

关于php - 资源 ID #4 为什么我会得到这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32628461/

相关文章:

php - 如何知道是否有人将我的网站嵌入到 Android 应用程序中?

php - Symfony 选择类型数组错误 : Unable to transform value for property path: Expected an array

php - 通过 mysqli_fetch_object 无法从该查询中获取计数

php - 使用 SQL 和 PHP 对数据进行分组

java - 如何在Android应用程序中添加表情符号支持以发表评论?

java - @ManyToOne JPA spring mysql插入错误,列为空

php - 如何在 PHP 中使用 Rails 应用程序 session

javascript - 计算网站上多个文件的下载次数的最佳方法

MySQL SELECT 仅不是空值

mysql - SQL-选择列表的列表