Php 将数据从一个表插入到另一个表

Php 将数据从一个表插入到另一个表,php,mysql,sql,Php,Mysql,Sql,我在查找具有以下表格结构的给定用户的注释时遇到问题: usertable (id, userid, name) comments (id, commentname, date) 注意:usertable.id与comments.id不同,它们都是autoincrement 我应该如何更新这些表来解决此问题 更新 当有人像thilo savage告诉我的那样投票时,这段代码对所有用户都有好处吗 $sth = thumbsup::db()->prepare( 'INSERT IN

我在查找具有以下表格结构的给定用户的注释时遇到问题:

usertable (id, userid, name)
comments (id, commentname, date)
注意:
usertable.id
comments.id
不同,它们都是
autoincrement

我应该如何更新这些表来解决此问题


更新

当有人像thilo savage告诉我的那样投票时,这段代码对所有用户都有好处吗

$sth = thumbsup::db()->prepare(
     'INSERT INTO'
    .thumbsup::config('database_table_prefix')
    .'votes_users(vid, userid) VALUES (?,?)');

$sth->execute(array($this->vid, $userid));

您有两个选择:

  • 将“uid”列添加到引用usertable的“id”列的comments表中。这样,您就可以跟踪哪些评论属于哪些用户

  • 创建一个包含“uid”和“cid”列的表“user\u comment”。此选项使两个现有表保持原样,“user_comment”表负责跟踪哪些注释属于哪些用户


  • 编辑:重写为使用多对多关系,因为当前表无法更改

    使用以下字段创建名为comments\u users的新表: cuid(主键和自动递增)| cid | uid

    然后使用以下代码获取用户的所有注释:

        $user_id = '1234';
    
    // get all the user's comment ids from comments_users table
    $find = mysql_query("SELECT `cid` FROM `comments_users` WHERE `uid` = '".$user_id."'");
    
    // generate a query that grabs all those comments
    $load = "SELECT * FROM `comments` WHERE ";
    while ($row  = mysql_fetch_array($find) {
        $load .= "`id` = '".$row['cid']."' OR ";
    }
    
    // shop off the last OR
    $load = substr($load,0,-4);
    
    // put all the user's comments into comments array
    $q = mysql_query($load);
    while ($comment = mysql_fetch_array($q)) {
        $comments[] = $comment
    }
    
    print_r($comments);
    

    就插入而言,您将像平常一样将注释插入注释表中,但是,您还需要在comments\u users表中插入一行,为该评论填写适当的cid和uid

    您绝对需要改进您的问题格式。当您说usertable的id与id comments不相同时,那么category表中的id是如何创建的,它们是自动递增的吗?类别表中的ID已创建?我不明白你的意思。是的,它们都是自动递增的。谢谢你的快速帮助lol我喜欢这个网站lol。但是请你给我mysql的代码,用我的php写。谢谢如果您已经创建了另外两个表,那么创建第三个表应该不会比您已经完成的工作更困难。我是一个信仰的拥护者,当一个人必须做一些工作时,学习的结果会比把所有的东西都放在一个银盘子里更好。所以,我的建议是把你的手弄脏,试着让它开始运转。谢谢你的建议,我真的很喜欢thilo savage他给我写的代码。这些表格不是我写的,如果是我,我可以创建第三个表格。不管怎样,如果你能帮忙欢迎,如果不能,你就把时间浪费在写我的问题上。我写我的问题是因为我真的不能创造它。我有,但它是错误的。你是说usertable的id和comments的id?我不能改变它们。我只想让sql代码像斯巴特拉说的那样编写。谢谢你的快速回答,我的意思是我不能更改它们,因为它们已经在我所有的php文件中写入。所以我会把它们都找出来!!英雄联盟我能否编写sql代码来管理这些ID并获取每个用户的注释?谢谢。感谢这段代码thilo,我已经创建了数据库表(comments\u users),但我不明白为什么要将$user\u id设置为'1234';我将在这里做什么。我有很多用户,我会选择一个?我看到你在聊天室聊天,但我不能在那里写,这个声誉的科兹。嘿!只需将1234替换为您想要评论的任何用户id即可。假设你的URL是site.com/user?user=63,那么你就得到$user\u id=$\u GET['user'];有道理?