2012-01-29 61 views
0

我有兩個表名爲:博客用於顯示博客文章和評論用於顯示每篇博文的評論部分。是如何在下面的數據庫mysql表中插入行?

這些字段如下:

對於博客:

1:blog_id

2:標題

3:體

4:作者

5 :更新

註解:

1:comments_id

2:命名

3:電子郵件

4:主體

5:blog_id

字段blog_id對於這兩個表格必須相同。

現在我想要的是,假設對於blog_id =「2」,我正在寫評論,那麼插入查詢將如何,以便當我訪問index.php?blog_id = 2時,我只獲得評論特別帖子。

我的意思是如何插入特定blog_id的評論?

我想這個查詢插入:

INSERT INTO cms.comments(blog_id, name,email,comments_body) 
       VALUES (
        '".$arr['blog_id']."', 
        '".$arr['name']."', 

        '".$arr['email']."', 
        '".$arr['body']."' 
       )); 
+0

它像外鍵MySQL的。 – Sagotharan 2012-01-29 06:17:48

+0

[你嘗試過什麼到目前爲止??](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – 2012-01-29 06:20:18

+0

@fahim Parkar:我嘗試這樣做:INSERT INTO cms.comments( comments_id,用戶名,電子郵件,comments_body) \t \t \t \t \t VALUES( \t \t \t \t \t ' 「$常用3 [ 'blog_id'。」', \t \t \t \t \t \t '」。$改編['用戶名']。「', \t \t \t \t \t \t \t \t \t \t \t \t ' 「$常用3 [ '電子郵件'。」', \t \t \t \t \t \t ' 「$常用3 [ 'comments_body'。」' \t \t \t \t \t) WHERE cms.comments.blog_id = '$ blog_id'「); – 2012-01-29 06:22:43

回答

1

好吧,我自己做了[無需實現外鍵]。

以下是解決方案。

要求是的評論領域「blog_id」必須等於博客

這可以通過以下方式進行的「blog_id」。首先通過下面的語句得到博客的「blog_id」 ......

$sql = "SELECT * from blog WHERE blog_id = '$blog_id'"; 
$res = mysql_query($sql) or die(mysql_error()); 
$row = mysql_fetch_assoc($res); 
$iItemId = (int)$_POST['blog_id']; // obtaining necessary information 

的使用INSERT語句像這樣,將其插入...

mysql_query("INSERT INTO amityadav.comments(blog_id, name,url,email,body) 
       VALUES (
        '$iItemId', //This variable is from the blog_posts' "blog_id" which will be inserted into the comment's "blog_id" 
        '".$arr['name']."', 
        '".$arr['url']."', 
        '".$arr['email']."', 
        '".$arr['body']."' 
       )"); 

現在爲了找回它使用的流動查詢...

$sql = "SELECT * from blog WHERE blog_id = '$blog_id'"; 
$res = mysql_query($sql) or die(mysql_error()); 
$row = mysql_fetch_assoc($res); 
$iItemId = (int)$_GET['blog_id']; // obtaining necessary information 
$comments = array(); 
$result = mysql_query("SELECT * FROM comments WHERE `blog_id` = '{$iItemId}' ORDER BY comments.id ASC "); 

使用這些疑問,我已經成功地實現我想要的東西... :)

-1

您需要使用父子表的概念與外鍵。 MySQL支持Foreign Keyscascading deletes作爲其數據庫存儲引擎的一部分。

您將需要使用InnoDB存儲引擎。

相關問題