我很难让它正常工作。我也尝试过彼此内部的查询,但都不起作用。有人知道为什么吗?
$ligan = mysql_query("SELECT leagueId FROM league WHERE leagueName='$leagueName'");
$laget = mysql_query("SELECT teamid FROM team WHERE leagueId='$ligan'");
$result = mysql_query("SELECT * FROM player WHERE teamId='laget'"); 这是打印的地方..。
<?php
if(mysql_num_rows($result) == 0){
echo $result;
}
else{
while($row = mysql_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['playerName'] . "</td>";
echo "<td>" . $row['birthday'] . "</td>";
echo "<td>" . $row['weight'] . "</td>";
echo "<td>" . $row['height'] . "</td>";
echo "<td>" . $row['madeGoals'] . "</td>";
echo "</tr>";
}
}
mysql_close($db); ?>我遇到了这个问题: mysql_num_rows()期望参数1是资源,布尔值在
我相信ligan给了一个值,而laget给了很多值。
你能帮上忙吗?
发布于 2013-04-15 02:03:49
我不知道为什么这些答案不建议你使用JOIN,我认为它更容易工作,创建它的原因是为了解决像你这样的问题。
是的,正如所有答案所指出的,你有一个关于mysql_query的PHP错误。
我的建议是,了解JOIN
我认为你的代码应该是这样的:
SELECT * FROM player
INNER JOIN team on team.leagueId = league.id
INNER JOIN league on league.name = '$leagueName'试一试JOIN,我保证你的代码看起来会更好,你的生活会更轻松=)
发布于 2013-04-15 01:42:58
mysql_query()返回结果集,而不是结果本身。您必须从结果集中提取结果。
在本例中,我检查结果集以确保在访问其中的第一个结果之前有结果。
$resultset = mysql_query("SELECT leagueId from league WHERE leagueName='$leagueName'");
if( mysql_num_rows( $resultset ) > 0 ){
$row = mysql_fetch_assoc( $resultset );
// access the ID via $row['leagueId']
}发布于 2013-04-15 01:42:00
$result = mysql_query(
"SELECT * FROM player WHERE teamId IN (
SELECT teamid from team WHERE leagueId IN (
SELECT leagueId from league WHERE leagueName='$leagueName'
)
)"
);https://stackoverflow.com/questions/16002153
复制相似问题