代码之家  ›  专栏  ›  技术社区  ›  Mauro74

php检索插入的最后一条记录的id并将其插入另一个表中

  •  0
  • Mauro74  · 技术社区  · 14 年前

    我正在尝试检索表'authors'中插入的最后一条记录的id,并在'articles'表中插入检索到的id;这是我的密码:

    $title = mysql_real_escape_string($_POST[title]);
    $body = mysql_real_escape_string($_POST[body]);
    $category = mysql_real_escape_string($_POST[category]);
    
    $insert_author="INSERT INTO authors (name) VALUES ('$title')";
    $select_author= mysql_query("SELECT LAST_INSERT_ID()");
    
    $authId = mysql_fetch_array($select_author);
    $query="INSERT INTO articles (body, date, category, auth_id) VALUES ('$body', '$date_now', '$category', '$authId')";
    

    这不管用。。。

    有什么想法吗?

    4 回复  |  直到 14 年前
        1
  •  2
  •   Sarfraz    14 年前

    您可以使用 mysql_insert_id()

    $insert_author="INSERT INTO authors (name) VALUES ('$title')";
    mysql_query($insert_author) or die(mysql_error());
    
    $authId = mysql_insert_id();
    
    $query="INSERT INTO articles (body, date, category, auth_id) VALUES
    ('$body', '$date_now', '$category', '$authId')";
    

    注意 mysql_query 函数,我在上面的代码中也添加了这个函数。

        2
  •  1
  •   Savageman    14 年前

    到底什么不管用。做那件事 $authId

    除此之外,你还忘了第二个 mysql_query() .

        3
  •  1
  •   a1ex07    14 年前
        4
  •  0
  •   jeroen    14 年前

    顾名思义, mysql_fetch_array($select_author)

    推荐文章