我这里有一个关于这个PHP函数的快速问题。SELECT 查询后的am
是什么?另外,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"
);
}
am
和 w
是表别名,实际上是本地化到此查询的表名的缩写。
它们指定在:
FROM
" . DB_PREFIX . "auction_media am, " . DB_PREFIX . "winners w WHERE
有些人会在表名和别名之间放置一个 AS。
你指的是MySQL别名。
winners w
,这里w
代表获奖者表
所以与其写:
winners.is_add, winners.dd_active_date
你可以简单地写:
w.is_add, w.dd_active_date
auction_media am
也是如此.
这里的w.
和am.
是表winners
和auction_media
的别名。让我们假设两个表中是否有任何相同的字段,并且我们正在显示这一点,因此此别名将有助于区分它们。
谢谢
am
是 auction_media
talbe 的别名,w
是winner
表的别名。基本上我在查询中指定要从中查询的表。在联接查询中,为了避免两个表中的字段之间发生任何冲突,最好使用表名,而别名只是使较长的表名更容易的一种方式。