SQL内连接问题(可以轻松修复)

时间:2015-03-05 20:25:52

标签: php mysql select inner-join

所以我试图通过从玩家表中抓取我的playerID来填充下拉列表,同时与我的付款表共享相同的playerID。

当我将查询设置如下时,它可以正常工作。

$sql = "SELECT playersID FROM players"; 

但是当我想要将两张桌子连在一起时,我会得到一个空的下拉。

<?php
include "dbconnect.php"; 

$sql = "SELECT players.playersID FROM players INNER JOIN Payments ON Payments.playersID = players.playersID";


if (!$result = mysql_query($sql, $conn))
    {
        die('Error in querying the database' . mysql_error()); 
    }

echo "<br><select name = 'listbox' id = 'listbox' onclick = 'populate()'>";  

while ($row = mysql_fetch_array($result)) 
    {

        $playersID = $row['playersID'];

        $allText = "$playersID,";
        echo "<option value = '$allText'> $playersID</option>"; 
    }
echo "</select>";
mysql_close($conn); ?>

注意我之前从未做过INNER JOIN,所以这可能是一个简单的问题。代码的目的是将付款信息输入表单并将数据保存到数据表中。我想在付款表中显示playerID,以显示特定玩家为此产品付款。

干杯!

1 个答案:

答案 0 :(得分:1)

看起来您希望使用付款表而不是内部联接来使用LEINT OUTER JOIN,因为付款表还没有为所有玩家付款或者根本没有付款。