使用我找到的示例 here我正在使用下面的代码用 PHP 创建一个表。但是,当我运行它时,我收到以下错误:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /homepages/2/d333603417/htdocs/locationsconsole.php on line 94
我的代码的第 94 行是 while (($row = mysql_fetch_assoc($query)) !== false) {
谁能告诉我,我是不是错误地解释了代码,或者代码有错误。我只是想知道是否有人可以看一下这个问题,并就如何解决这个问题提供一些指导。
<form name="locationsconsole" id="locationsconsole" method="post" action="locationsaction.php">
<?php
$query = "SELECT l.*, COUNT(f.locationid) totalfinds FROM detectinglocations l LEFT JOIN finds f ON f.locationid = l.locationid WHERE l.userid = '27' GROUP BY l.locationname";
?>
<table>
<thead>
<tr>
<th width="62"><div align="center">Location Name</div></th>
<th width="120"><div align="left">Location Address</div></th>
<th width="81"><div align="center">No. Of Finds Made </div></th>
</tr>
</thead>
<tbody>
<?php
while (($row = mysql_fetch_assoc($query)) !== false) {
?>
<tr>
<td><?php echo $row['locationname']; ?></td>
<td><?php echo $row['returnedaddress']; ?></td>
<td><?php echo $row['totalfinds']; ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</form>
最佳答案
您需要在获取结果之前实际执行查询,使用mysql_query
:
$sql = "SELECT l.*, COUNT(f.locationid) totalfinds FROM detectinglocations l LEFT JOIN finds f ON f.locationid = l.locationid WHERE l.userid = '27' GROUP BY l.locationname";
$query = mysql_query($sql);
但是,请注意,不鼓励使用 mysql_
扩展,并将在未来的 PHP 版本中将其删除,因此我建议您尽可能切换到 PDO 或 MySQLi。
关于php - MySQL 到 HTML 表与 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11349308/