【发布时间】:2013-06-10 02:45:48
【问题描述】:
我正在开发一个网站,该网站显示两支球队的足球比分和我的数据库中的两个比分。
这是我的代码:
<?php
$result = mysql_query( "SELECT * FROM resultat
LEFT JOIN brukere ON resultat.dommer = brukere.id
INNER JOIN lag ON resultat.lag1 = lag.id
INNER JOIN lag ON resultat.lag2 = lag.id
ORDER BY slutt DESC
" )
or die("SELECT Error: ".mysql_error());
$num_rows = mysql_num_rows($result);if ($result) {while ($row = mysql_fetch_array($result)) {
$_SESSION['id']=$row['id'];
?>
<tr>
<td><?php echo $row['klubb']; ?></td>
<td><?php echo $row['klubb']; ?></td>
<td><?php echo $row['stilling1'] . " - " . $row['stilling2']; ?></td>
<td><?php echo $row['roed'] . " rødt og " . $row['gult'] . " gult"; ?></td>
<td><?php echo $row['bane']; ?></td>
<td><?php echo $row['navn']; ?></td>
</tr>
<?php
}
}
?>
我得到:
SELECT 错误:不是唯一的表/别名:'lag'
当我尝试时:
INNER JOIN lag s ON resultat.lag1 = lag.id
INNER JOIN lag c ON resultat.lag2 = lag.id
我明白了:
SELECT 错误:“on 子句”中的未知列“lag.id”
我该怎么做?来自同一个表的两个连接
【问题讨论】:
-
Please, don't use
mysql_*functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDO 或MySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial. -
我知道,但这是一个学校项目,他们希望我们这样做......
-
他们想去那里被学生入侵的数据库吗... ;p
-
不要使用“SELECT *”。相反,确定您真正想要返回的列并相应地分配别名。