【发布时间】:2012-10-13 20:55:54
【问题描述】:
我有一个 php 网站,上面有一些代码,可以在用户定义一些搜索词后从数据库中提取,然后向他们展示一个包含所有信息的表格
问题是即使我从表中选择 *,我也只能返回第一行。
代码:
$result = mysql_query("SELECT trees.*
FROM trees
INNER JOIN price
ON trees.ID=price.treeid
");
$num_rows = mysql_num_rows($result);
if($num_rows == 0) {
echo "No rows retrieved";
} else {
echo $num_rows;
}
我的数据库中有 2 行:
Spruce El Sorbeous Sprucious Green Green Green 100 200
its a tree ma! true NULL NULL NULL
Mayday el daymay red green white 10 4000000
GOING DOWN true Grey true false
当我在上面打印出 $num_rows 时,它只有一个。 当我打印出下面的表格时,只有一行:
echo '<table border = 0 cellpadding=0 >';
echo '<tr>';
echo '<td><b><u>Name</b></u></td>
<td><b><u>Latin Name</b></u></td>
<td><b><u>Primary Color</b></u></td>
<td><b><u>Secondary Color</b></u></td>
<td><b><u>Fall Color</b></u></td>
<td><b><u>Trunk Color</b></u></td>';
echo '<td><b><u>Description</b></u></td>
<td><b><u>Height</b></u></td>
<td><b><u>Spread</b></u></td>
<td><b><u>Drought Resistant?</b></u></td>
<td><b><u>Flowering?</b></u></td>
<td><b><u>Fruit Producing?</b></u></td>';
echo '</tr>';
while ($row = mysql_fetch_assoc($result)) {
echo '<tr>';
echo '<td>';
echo $row['name'];
echo '</td>';
echo '<td>';
echo $row['latinname'];
echo '</td>';
echo '<td>';
echo $row['primarycolor'];
echo '</td>';
echo '<td>';
echo $row['secondarycolor'];
echo '</td>';
echo '<td>';
echo $row['fallcolor'];
echo '</td>';
echo '<td>';
echo $row['trunkcolor'];
echo '</td>';
echo '<td>';
echo $row['description'];
echo '</td>';
echo '<td>';
echo $row['height'];
echo '</td>';
echo '<td>';
echo $row['spread'];
echo '</td>';
echo '<td>';
echo $row['droughtresistant'];
echo '</td>';
echo '<td>';
echo $row['flowering'];
echo '</td>';
echo '<td>';
echo $row['fruitproducing'];
echo '</td>';
echo '</tr>';
}
echo '<table>';
【问题讨论】:
-
第二个代码块是数据库数据。但我确实注意到我将参考键放入价格表而不是树表中。我的外键倒了!这可能会或可能不会解决我的问题?
-
在提出问题之前谁知道它与问题无关?不是我 。其他人似乎在我的设置中发现了有趣的问题,而您只是抱怨。其他答案让我得到了答案。
-
好吧,我会编辑它并在我有时间的时候提出答案。这个问题很难在这里记录,因为我的表结构是错误的,阅读人们的回复让我检查了结构是否有正确的外键约束,这是我遗漏的,在实施时,它解决了我的问题。所以我不知道如何正确记录这种情况。
-
按照您的建议,伪造问题没有意义。最初的问题成立,问题已经解决。