2013-12-10 51 views
0

我正在撰寫CI(CodeIgniter Framework)中的博客。我有兩個表:博客發佈SQL加入問題

  • Blog_Post表
  • Blog_Banners表

的關係是一個Blog_Post有很多Blog_Banners。

我想使用這個檢索所有博客橫幅的特定博客文章:

SELECT * 
FROM 'blog_posts' 
INNER JOIN 'blog_banners' 
ON 'blog_posts.id' = 'blog_banners.blog_post_id' 
WHERE 'blog_posts.id' = '3' 

我不斷收到這樣的信息:

#1064 - 你有一個錯誤你的SQL語法;檢查與您的MySQL服務器版本相對應的手冊,以便在「'posts'內部加入'橫幅'ON'posts.id'='banners.post_id'WHERE'posts.id''在第2行使用正確的語法

會有人碰巧看到錯誤嗎?我一直堅持這一點。

回答

3

不要對錶/列名使用引號,請使用反引號。另外,整數不應被引用:

SELECT * 
FROM `blog_posts` 
INNER JOIN `blog_banners` 
ON `blog_posts`.`id` = `blog_banners`.`blog_post_id` 
WHERE `blog_posts`.`id` = 3 

但由於沒有保留字,你可以做精,而不反引號太

+0

@Asaph你能解釋一下你所做的修改嗎?那句話是正確的 –

+0

對失去的句子感到抱歉。那是一場意外。我剛把它帶回來。 – Asaph

+0

非常感謝。啊,編碼的樂趣,像這樣的一個小錯誤... –

-1

$這個 - > DB->查詢 - (「SELECT * FROM 'blog_posts' INNER JOIN'blog_banners' ON'blog_posts.id'='blog_banners.blog_post_id' WHERE'blog_posts.id'='3'「);

+0

這將得到一個PHP語法錯誤和一個SQL錯誤 –