2

我在这里有一个关于这个 PHP 函数的快速问题。amSELECT 查询之后是什么?w还有这个查询是什么意思?

function download_redirect_torrent($winner_id)
{
    global $db, $setts;
    $output = array('url' => null, 'redirect' => false, 'display' => null);
    $winner_id = intval($winner_id);
    $media_details = $db->get_sql_row(
        "SELECT 
            am.*, w.is_dd, w.dd_active, w.dd_active_date 
        FROM  
            " . DB_PREFIX . "auction_media am, " . DB_PREFIX . "winners w 
        WHERE 
            am.auction_id=w.auction_id AND w.winner_id=" . $winner_id . " AND am.media_type=4"
    );
}
4

4 回答 4

5

amw表别名,有效地是本地化到这一查询的表名的缩写。

它们被指定在:

FROM 
    " . DB_PREFIX . "auction_media am, " . DB_PREFIX . "winners w WHERE

有些人会在表名和别名之间放置一个 AS。

于 2012-05-13T06:45:29.140 回答
4

您指的是 MySQL 别名。

winners w, 这里w代表获胜者表

所以不要写:

winners.is_add, winners.dd_active_date

你可以简而言之:

w.is_add, w.dd_active_date

也是如此auction_media am

于 2012-05-13T06:45:50.760 回答
3

这里 w.am.是表winners和的别名auction_media。假设两个表中是否有任何相同的字段,并且我们正在展示,所以这个别名将有助于区分它们。

谢谢

于 2012-05-13T06:49:48.673 回答
2

amauction_mediatalbe的别名,也是tablew的别名。winner基本上是在查询中指定要查询的表。在连接查询中,为了避免两个表中的字段之间发生任何冲突,最好使用表名,而别名只是一种使更长的表名更容易的方法。

于 2012-05-13T06:47:02.237 回答