0
我有點困惑在這裏,有人可以看看這個查詢,並告訴我我做錯了什麼?非常簡單的MySQL查詢不起作用
SELECT d.* FROM as_downloads d LEFT JOIN as_categories c ON (d.download_category_id = c.category_id) WHERE d.download_category_id != -1 LIMIT 30
從as_downloads
表中讀取行,但不參加類別表..
世界上沒有錯誤什麼那麼,我已經在phpMyAdmin和相同的結果測試,這裏的PHP代碼中使用
class Model_Downloads extends ModelType_PDO
{
public function fetchDownloads($limit)
{
$p = Registry::get('Config')->Database->prefix;
$query = "SELECT d.* FROM ".$p."downloads d LEFT JOIN ".$p."categories c ON d.download_category_id = c.category_id WHERE d.download_category_id != -1 LIMIT :limit";
$this->query = $this->prepare($query);
$this->query->bindValue(':limit',$limit,PDO::PARAM_INT);
if($this->query->execute())
{
return $this->query->fetchAll(PDO::FETCH_CLASS);
}
return false;
}
}
謝謝,我知道我忽略了一些東西,我認爲如果連接自動選擇整個表。再次感謝。 – RobertPitt 2010-10-22 13:00:44
你真的應該明確地指定你想要的列。否則,架構更改時,現有查詢可能會停止工作。 – 2010-10-22 13:02:11
是的,我知道這一點,他們將被指定,但隨着我的系統仍在進行中,我很快就會獲得基礎知識,並且病態地微調了一切。 – RobertPitt 2010-10-22 13:17:37